如何在JavaScript中按空格和特殊字符分割字符串?

时间:2018-11-29 09:16:01

标签: javascript jquery regex

我想用空格和特殊字符分割字符串。

例如:

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'] 

我无法删除特殊字符,有人可以帮助我吗?

4 个答案:

答案 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(/[ &@]/)加上您认为是“特殊字符”的任何内容?