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


Ruby String.scan用法及代碼示例


本文簡要介紹ruby語言中 String.scan 的用法。

用法

scan(pattern) → array
scan(pattern) {|match, ...| block } → str

兩種形式都遍曆 str ,匹配模式(可能是 Regexp String )。對於每個匹配,都會生成一個結果並將其添加到結果數組或傳遞給塊。如果模式不包含任何組,則每個單獨的結果都包含匹配的字符串 $& 。如果模式包含組,則每個單獨的結果本身就是一個數組,每個組包含一個條目。

a = "cruel world"
a.scan(/\w+/)        #=> ["cruel", "world"]
a.scan(/.../)        #=> ["cru", "el ", "wor"]
a.scan(/(...)/)      #=> [["cru"], ["el "], ["wor"]]
a.scan(/(..)(..)/)   #=> [["cr", "ue"], ["l ", "wo"]]

和塊形式:

a.scan(/\w+/) {|w| print "<<#{w}>> " }
print "\n"
a.scan(/(.)(.)/) {|x,y| print y, x }
print "\n"

產生:

<<cruel>> <<world>>
rceu lowlr

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 String.scan。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。