>我有一个像"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中找不到相同的内容。如何解决此任务?可能需要在正则表达式中做一些评论吗?
尝试不带(捕获)括号
var s = "Azarenke V. Su Simple 90";
var array = s.split(/s+/);
console.log(JSON.stringify(array));
// Output: ["Azarenke","V.","Su","Simple","90"]
只需删除捕获组即可。捕获组将保留分隔符。也就是说,它根据分隔符拆分输入,并在最终打印出分隔符。
> var s = "Azarenke V. Su Simple 90";
undefined
> s.split(/s+/);
[ 'Azarenke',
'V.',
'Su',
'Simple',
'90' ]
您可以先用单个空格替换多个空格,使用:
`Azarenke V. Su Simple 90`.replace(/ +(?= )/g,'');
然后,您可以按空格拆分。