我有一个像foo bar(5) baz(0, 3)
这样的字符串,需要根据每个字符串之间的空格将其拆分成部分。所以结果需要如下所示:['foo', 'bar(5)', 'baz(0, 3)']
。
我试过这样的事情:
var str = 'foo bar(5) baz(0, 3)';
str.split(' '); // => ['foo', 'bar(5)', 'baz(0,', '3)']
正如你所看到的结果不是我所期望的......任何想法如何正确分割它?我认为这是RegExp
- 大师们的转折......
更新
一种简单的方法是将所有,
替换为,
:
str.replace(/, /g, ',').split(' ');
但这对我来说看起来并不是很好......
答案 0 :(得分:4)
您可以使用.match
。
str.match(/\w+(\(.*?\))?/g)
=> ["foo", "bar(5)", "baz(0, 3)"]