Mic*_*ski 20
它们用于完全不同的目的. String#scan
用于从字符串中提取正则表达式的匹配项并返回数组中的匹配项,而String#split
用于根据分隔符将字符串拆分为数组.分隔符可以是静态字符串(比如;
在单个分号上分割)或正则表达式(比如/\s/+
在任何空白字符上分割).
输出String#split
不包括分隔符.相反,除了分隔符,一切都会在输出数组中被返回,而输出String#scan
将只包括什么是分隔符匹配.
# A delimited string split on | returns everything surrounding the | delimiters
"a|delimited|string".split("|")
# Prints: ["a", "delimited", "string"]
# The same string scanninng for | only returns the matched |
"a|delimited|string".scan("|")
# Prints: ["|", "|"]
Run Code Online (Sandbox Code Playgroud)
上述两者也会接受正则表达式来代替简单字符串"|"
.
# Split on everything between and including two t's
"a|delimited|string".split(/t.+t/)
# Prints: ["a|delimi", "ring"]
# Search for everything between and including two t's
"a|delimited|string".scan(/t.+t/)
# Prints: ["ted|st"]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6751 次 |
最近记录: |