我需要一个正则表达式来用逗号和/或空格分割字符串,但忽略带连字符的单词 - 最好的方法是什么?
所以,例如 - 我喜欢这个......
"foo bar, zap-foo, baz".split(/[\s]+/)
返回
["foo", "bar", "zap-foo", "baz"]
但是当我这样做时,它包括这样的逗号......
["foo", "bar,", "zap-foo,", "baz"]
答案 0 :(得分:34)
"foo bar, zap-foo, baz".split(/[\s,]+/)
答案 1 :(得分:5)
您可以指定一个字符类,该字符类表示要拆分非连字符或单词字符:
"foo bar, zap-foo, baz".split(/[^\w-]+/)
或者您可以使用像Ocson has provided这样的字符类在空格和逗号上进行拆分。
答案 2 :(得分:3)
或者如果你想真正明确分隔符:
"foo bar, zap-foo, baz".split(/ |, |,/)
=> ["foo", "bar", "zap-foo", "baz"]
答案 3 :(得分:2)
"foo bar, zap-foo, baz".split(/[\s.,]+/)