嗨,我遇到了问题,试图将字符串拆分为数组。
我当前的代码:
var str = 'code:(112 114) word:testing tags:(english math)';
var arr = str.split(' ');
console.log(arr);
结果:
[
"code:(112",
"114)",
"word:testing",
"tags:(english",
"math)"
]
但是我希望结果是这样
[
"code:(112 114)",
"word:testing",
"tags:(english math)"
]
答案 0 :(得分:3)
您可以使用like
来完成此操作
regex
输出:
var str = 'code:(112 114) word:testing tags:(english math)';
var arr = str.split(/\s(?=\w+:)/);
arr.forEach(function(element) {
console.log(element);
});
注意:code:(112 114)
word:testing
tags:(english math)
表示查找带有字符的空格,并在其后:,但只能查找空格,以便它可以根据需要分割字符串。
在您的情况下,它将忽略s(?=\w+:)
和112 114
之间的空格,但会找到english math
和) word
之间的空格