Ruby regexp按逗号和空格分割字符串,但忽略连字符的单词?

Ruby regexp按逗号和空格分割字符串,但忽略连字符的单词?,ruby,regex,Ruby,Regex,我需要一个regexp以逗号和/或空格分隔字符串,但忽略连字符的单词——最好的方法是什么 例如,我想要这个 "foo bar, zap-foo, baz".split(/[\s]+/) 归来 ["foo", "bar", "zap-foo", "baz"] 但是当我这么做的时候,它包括了像这样的逗号 ["foo", "bar,", "zap-foo,", "baz"] 您可以指定一个字符类,该类表示拆分非连字符或单词字符的内容: "foo bar, zap-foo, baz".split(

我需要一个regexp以逗号和/或空格分隔字符串,但忽略连字符的单词——最好的方法是什么

例如,我想要这个

"foo bar, zap-foo, baz".split(/[\s]+/)
归来

["foo", "bar", "zap-foo", "baz"]
但是当我这么做的时候,它包括了像这样的逗号

["foo", "bar,", "zap-foo,", "baz"]

您可以指定一个字符类,该类表示拆分非连字符或单词字符的内容:

"foo bar, zap-foo, baz".split(/[^\w-]+/)

或者,您可以使用字符类(例如“foo bar,zap foo,baz”)仅拆分空格和逗号。拆分(/[\s,]+/)

,或者如果您想明确分隔符:

"foo bar, zap-foo, baz".split(/ |, |,/)

=> ["foo", "bar", "zap-foo", "baz"]
[“foo”、“bar”、“zap foo”、“baz”]
是输出,但我们不能将
[“foo bar”]
拆分为
[“foo”和“bar”]
"foo bar, zap-foo, baz".split(/[\s.,]+/)