两个都可以把string中的words分割出来。一个区别在于:
split在于分割string, 根据delimiter分割。 而scan的作用在于扫描string,根据后面参数要求得出结果。
比如提供一个string, 需要你提炼出其中的non-words符号并且存到数组中。
用scan比较合适, 只要找出words就可以: str.scan(/\b\w+/\b)
-- \b用来表示word的边界(boundary), 否则也许会产生搜寻"day", 结果把 "Sunday"也算进去了。
而用split的话,得考虑去掉所有non-words. str.split(/\W+/)
??
split在于分割string, 根据delimiter分割。 而scan的作用在于扫描string,根据后面参数要求得出结果。
比如提供一个string, 需要你提炼出其中的non-words符号并且存到数组中。
用scan比较合适, 只要找出words就可以: str.scan(/\b\w+/\b)
而用split的话,得考虑去掉所有non-words.