當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby String.split用法及代碼示例


本文簡要介紹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 包含組,則相應的匹配項也將在數組中返回。

如果 patternnil ,則使用 $; 的值。如果 $;nil(這是默認設置),則 str 在空格上拆分,就像指定了“ ”一樣。

如果省略limit 參數,則禁止尾隨空字段。如果limit 為正數,則最多返回該數量的拆分子字符串(也將返回捕獲的組,但不計入限製)。如果 limit1 ,則整個字符串作為數組中的唯一條目返回。如果為負數,則返回的字段數沒有限製,並且不抑製尾隨的空字段。

當輸入 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-lang.org大神的英文原創作品 String.split。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。