本文简要介绍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 String.scrub用法及代码示例
- Ruby String.scrub!用法及代码示例
- Ruby String.size用法及代码示例
- Ruby String.string <=>用法及代码示例
- Ruby String.swapcase用法及代码示例
- Ruby String.setbyte用法及代码示例
- Ruby String.swapcase!用法及代码示例
- Ruby String.start_with?用法及代码示例
- Ruby String.string << object用法及代码示例
- Ruby String.string + other_string用法及代码示例
- Ruby String.slice!用法及代码示例
- Ruby String.string =~ regexp用法及代码示例
- Ruby String.split用法及代码示例
- 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.scan。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。