本文簡要介紹ruby語言中 String.split
的用法。
用法
split(pattern=nil, [limit]) → an_array
split(pattern=nil, [limit]) {|sub| block } → str
根據分隔符將str
劃分為子字符串,返回這些子字符串的數組。
如果 pattern
是 String
,則在拆分 str
時將其內容用作分隔符。如果 pattern
是單個空格,則 str
在空白處拆分,前導和尾隨空白以及連續空白字符的運行將被忽略。
如果 pattern
是 Regexp
,則 str
在模式匹配的地方被分割。每當模式與零長度字符串匹配時,str
就會被拆分為單個字符。如果pattern
包含組,則相應的匹配項也將在數組中返回。
如果 pattern
是 nil
,則使用 $;
的值。如果 $;
是 nil
(這是默認設置),則 str
在空格上拆分,就像指定了“ ”一樣。
如果省略limit
參數,則禁止尾隨空字段。如果limit
為正數,則最多返回該數量的拆分子字符串(也將返回捕獲的組,但不計入限製)。如果 limit
是 1
,則整個字符串作為數組中的唯一條目返回。如果為負數,則返回的字段數沒有限製,並且不抑製尾隨的空字段。
當輸入 str
為空時,將返回一個空的 Array
,因為該字符串被認為沒有要拆分的字段。
" now's the time ".split #=> ["now's", "the", "time"]
" now's the time ".split(' ') #=> ["now's", "the", "time"]
" now's the time".split(/ /) #=> ["", "now's", "", "the", "time"]
"1, 2.34,56, 7".split(%r{,\s*}) #=> ["1", "2.34", "56", "7"]
"hello".split(//) #=> ["h", "e", "l", "l", "o"]
"hello".split(//, 3) #=> ["h", "e", "llo"]
"hi mom".split(%r{\s*}) #=> ["h", "i", "m", "o", "m"]
"mellow yellow".split("ello") #=> ["m", "w y", "w"]
"1,2,,3,4,,".split(',') #=> ["1", "2", "", "3", "4"]
"1,2,,3,4,,".split(',', 4) #=> ["1", "2", "", "3,4,,"]
"1,2,,3,4,,".split(',', -4) #=> ["1", "2", "", "3", "4", "", ""]
"1:2:3".split(/(:)()()/, 2) #=> ["1", ":", "", "", "2:3"]
"".split(',', -1) #=> []
如果給出了一個塊,則使用每個拆分子字符串調用該塊。
相關用法
- Ruby String.scan用法及代碼示例
- Ruby String.size用法及代碼示例
- Ruby String.scrub用法及代碼示例
- Ruby String.string <=>用法及代碼示例
- Ruby String.swapcase用法及代碼示例
- Ruby String.setbyte用法及代碼示例
- Ruby String.swapcase!用法及代碼示例
- Ruby String.start_with?用法及代碼示例
- Ruby String.string << object用法及代碼示例
- Ruby String.scrub!用法及代碼示例
- Ruby String.string + other_string用法及代碼示例
- Ruby String.slice!用法及代碼示例
- Ruby String.string =~ regexp用法及代碼示例
- Ruby String.squeeze用法及代碼示例
- Ruby String.succ用法及代碼示例
- Ruby String.string % object用法及代碼示例
- Ruby String.slice用法及代碼示例
- Ruby String.strip!用法及代碼示例
- Ruby String.string ===用法及代碼示例
- Ruby String.strip用法及代碼示例
- Ruby String.string ==用法及代碼示例
- Ruby String.string[index]用法及代碼示例
- Ruby String.string * integer用法及代碼示例
- Ruby String.match?用法及代碼示例
- Ruby String.unpack用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 String.split。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。