尝试使用匹配器/ \ w /和/ \ W /将句子拆分为单词和分隔符

时间:2012-07-19 08:53:26

标签: ruby regex

我想将一个句子分成单词和单词之间的部分(我称之为分隔符)。

sentence = "First-tea,-then-coffee!"
=> "First-tea,-then-coffee!"
words = sentence.split(/\W+/) # Splits by non-word characters
=> ["First", "tea", "then", "coffee"]
delimiters = sentence.split(/\w+/) # Splits by word characters
=> ["", "-", ",-", "-", "!"]

拼写成文字很好,但我对分隔符有疑问。

第一个空字符串来自分隔符数组?

感谢您的解释。

1 个答案:

答案 0 :(得分:0)

在行/^/的开头和第一次出现-之间,有"First"

因此它会在"First"上分割,获取空字符串""-