Как разбить строку по пробелу и специальному символу в JavaScript? - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу разбить строку по пробелам и специальным символам.

Например:

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 голосов
/ 29 ноября 2018

Почему вы не просто 'hell@o wor&ld'.split(/[ &@]/) с чем-то, что вы воспринимаете как «специальный символ» в квадратных скобках?

0 голосов
/ 29 ноября 2018

Вы можете разбить на не слово \W.

var string = "hell@o wor&ld";

console.log(string.split(/\W+/))
0 голосов
/ 29 ноября 2018

Вы можете просто использовать /\W/

var strSplit = "hell@o wor&ld";

var arr= "hell@o wor&ld".split(/\W/);
console.log(arr);
0 голосов
/ 29 ноября 2018

Вам просто нужно исправить свое регулярное выражение.Вместо этого используйте:

/\W+/

Здесь мы разбиваемся не на словах (\W+) (последовательно)

var strSplit = "hell@o wor&ld";
var splitArr = strSplit.split(/\W+/);

console.log(splitArr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...