我想用空格和特殊字符分割字符串。
例如:
var strSplit = "hell@o wor&ld";
我想要这个输出:
//["hell","o","wor","ld"]
我已经尝试过这种方法
var arr= [];
"hell@o wor&ld".split(/(\W)/).forEach(function(elem) {
if (!/^\s*$/.test(elem)) {
arr.push(elem);
}
});
我得到这个结果:
// arr= ['hell', '@', 'o', 'wor', '&', 'ld']
我无法删除特殊字符,有人可以帮助我吗?
答案 0 :(得分:5)
您只需要修正您的正则表达式即可。而是使用:
/\W+/
在这里,我们按连续非单词字符(\W+
)进行分隔
var strSplit = "hell@o wor&ld";
var splitArr = strSplit.split(/\W+/);
console.log(splitArr);
答案 1 :(得分:3)
您可以按非单词\W
拆分。
var string = "hell@o wor&ld";
console.log(string.split(/\W+/))
答案 2 :(得分:1)
您可以简单地使用/\W/
var strSplit = "hell@o wor&ld";
var arr= "hell@o wor&ld".split(/\W/);
console.log(arr);
答案 3 :(得分:1)
为什么不简单地在方括号内用'hell@o wor&ld'.split(/[ &@]/)
加上您认为是“特殊字符”的任何内容?