@@ -2286,9 +2286,9 @@ string #=> "thing"
22862286: 文字列
22872287 その文字列自体にマッチする部分で分割する。
22882288: 1 バイトの空白文字 ' '
2289- 先頭と末尾の空白を除いたうえで、空白文字列で分割する 。
2289+ 先頭の連続する空白を除いたうえで、連続する空白で分割する 。
22902290: nil
2291- 常に $; で分割する。 $; も nil の場合は、先頭と末尾の空白を除いたうえで、空白文字列で分割する 。
2291+ 常に $; で分割する。 $; も nil の場合は、1 バイトの空白文字を指定したのと同じ動作となる 。
22922292: 空文字列 '' あるいは空文字列にマッチする正規表現
22932293 文字列を 1 文字ずつに分割する。マルチバイト文字を認識する。
22942294
@@ -2354,6 +2354,18 @@ p "a,b,c,d,e".split(/,/, 7) # => ["a", "b", "c", "d", "e"]
23542354p "a,b,c,,,".split(/,/, -1) # => ["a", "b", "c", "", "", ""]
23552355#@end
23562356
2357+ #@samplecode 1 バイトの空白文字を指定した場合の挙動
2358+ # まず " a b " から先頭の連続する空白を除き "a b " が分割対象となる。
2359+ # これを連続する空白で分割し、["a", "b", ""] となる。
2360+ p " a b ".split(' ', -1) # => ["a", "b", ""]
2361+
2362+ # limit == -1 の場合と比べると、結果の配列末尾に含まれる空文字列が取り除かれている。
2363+ p " a b ".split(' ', 0) # => ["a", "b"]
2364+
2365+ # limit == 1 の場合は元の文字列がそのまま含まれる。
2366+ p " a b ".split(' ', 1) # => [" a b "]
2367+ #@end
2368+
23572369@see [[m:String#partition]], [[m:String#rpartition]]
23582370
23592371--- squeeze(*chars) -> String
0 commit comments