区切り文字の最初の出現によってのみ文字列を分割する


8

の最初の出現で文字列を分割したいと思い.ます。

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

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

Juliaで文字列を1回だけ分割して「x1」を取得する方法
"y1.xyz22"ですか?

前もって感謝します、

回答:


3

limitキーワードを使用します。

この種の質問については、インラインドキュメントを効率的に使用することもできます。?splitコンソールでタイプ(または他の関数やタイプ)を入力するだけで、関数の詳細な説明、引数、および使用例を取得できます。この場合:

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

limitキーワード引数は結果にチャンクの最大数を設定します:

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"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.