chuỗi phân tách chỉ bởi sự xuất hiện đầu tiên của một dấu phân cách


8

Tôi muốn tách một chuỗi bởi lần xuất hiện đầu tiên của ..

julia> a = "x1.y1.xyz22"
"x1.y1.xyz22"

julia> split(a,".")
3-element Array{SubString{String},1}:
 "x1"   
 "y1"   
 "xyz22"

Làm thế nào để Julia có thể tách một chuỗi chỉ một lần để có được: "x1"
"y1.xyz22"?

Cảm ơn bạn trước

Câu trả lời:


3

Sử dụng limittừ khóa.

Đối với loại câu hỏi này, bạn cũng có thể sử dụng hiệu quả tài liệu nội tuyến .. chỉ cần nhập ?split(hoặc bất kỳ chức năng hoặc loại nào khác) trong bảng điều khiển để truy xuất một lời giải thích hay về chức năng, đối số của chúng và các ví dụ thường sử dụng. Trong trường hợp này:

help?> split
search: split splitext splitdir splitpath splitdrive rsplit splice! displaysize @specialize @nospecialize

  split(str::AbstractString, dlm; limit::Integer=0, keepempty::Bool=true)
  split(str::AbstractString; limit::Integer=0, keepempty::Bool=false)

  Split str into an array of substrings on occurrences of the delimiter(s) dlm. dlm can be any of the formats allowed by findnext's first argument (i.e. as a string, regular expression or a function), or as a single character or collection of characters.

  If dlm is omitted, it defaults to isspace.

  The optional keyword arguments are:

    •    limit: the maximum size of the result. limit=0 implies no maximum (default)

    •    keepempty: whether empty fields should be kept in the result. Default is false without a dlm argument, true with a dlm argument.

  See also rsplit.

  Examples
  ≡≡≡≡≡≡≡≡≡≡

  julia> a = "Ma.rch"
  "Ma.rch"

  julia> split(a,".")
  2-element Array{SubString{String},1}:
   "Ma"
   "rch"

  ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

  Splits an HyperRectangle into two along an axis at a given location.

7

Đối limitsố từ khóa sẽ đặt số lượng khối tối đa trong kết quả:

julia> split("abc.de.fg.hij.k", "."; limit=2) # split at most once
2-element Array{SubString{String},1}:
 "abc"        
 "de.fg.hij.k"

julia> split("abc.de.fg.hij.k", "."; limit=3) # split at most twice
3-element Array{SubString{String},1}:
 "abc"     
 "de"      
 "fg.hij.k"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.