在打字稿中,我想按空格分隔名称。所以我用了这样的东西
const splitted = name.split(' ');
它按预期工作,但是如果有人错误地给了一个以上的空间。因此,我尝试处理多个空间以进行拆分。像这样,
const splitted = name.split('\\s+');
但是,它以整个字符串为1并且,分割的varabel的长度显示为1
它在java中工作
有什么解释吗?
最佳答案
如果要沿正则表达式使用split
,则需要将实际的正则表达式传递给split
:
const splitted = name.split(/\s+/);
您当前的代码将沿原义的反斜杠,然后是原义的
s
和+
,例如:const name = 'foo\\s+bar';
const splitted = name.split('\\s+');
// splitted: ['foo', 'bar'];