解析javascript中有很多空格的字符串

时间:2015-01-22 09:10:15

标签: javascript regex

我有一个像"Azarenke V. Su Simple 90"这样的字符串,我需要拆分它并将所有单词放在数组中。 我使用这段代码:

var s = "Azarenke   V.   Su   Simple 90";

var array = s.split(/(\ +)/);
console.log(JSON.stringify(array));

但结果是:

"["Azarenke","   ","V.","   ","Su","   ","Simple"," ","90"]"

某些地方空虚'字符串只包含空格。但我不想在输出数组中推送它们。我熟悉C#和.net,它有类似RemoveEmptyEntries的内容,但在javascript中却找不到相同内容。怎么解决这个任务?我可能需要在正则表达式中发表一些评论吗?

3 个答案:

答案 0 :(得分:2)

尝试不用(捕捉)parens

var s = "Azarenke   V.   Su   Simple 90";

var array = s.split(/\s+/);
console.log(JSON.stringify(array)); 
// Output:  ["Azarenke","V.","Su","Simple","90"]

答案 1 :(得分:1)

只需删除捕获组即可。捕获组将保持分隔符。也就是说,它根据分隔符拆分输入,并在最后打印出分隔符。

> var s = "Azarenke   V.   Su   Simple 90";
undefined
> s.split(/\s+/);
[ 'Azarenke',
  'V.',
  'Su',
  'Simple',
  '90' ]

答案 2 :(得分:0)

您可以先使用以下单位空格替换多个空格:

`Azarenke   V.   Su   Simple 90`.replace(/ +(?= )/g,'');

然后你可以用空格分开。