Ruby regexp按逗号和空格分割字符串,但忽略连字符的单词?
我需要一个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(
"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.,]+/)