我想用空格分割一行文本(即去掉所有的空格并将其余的作为单独的元素)。我有这个代码:
line.split(/\s+/);
但它并不完全符合我的要求。例如hi there!
,它拆分为:[hi,there!,](注意数组末尾的 1 个空元素)。如何在没有最后一个空元素的情况下拆分一行?
我想用空格分割一行文本(即去掉所有的空格并将其余的作为单独的元素)。我有这个代码:
line.split(/\s+/);
但它并不完全符合我的要求。例如hi there!
,它拆分为:[hi,there!,](注意数组末尾的 1 个空元素)。如何在没有最后一个空元素的情况下拆分一行?
您确定字符串末尾没有空格吗?因为它对我有用。
无论如何,试试这个:
line.replace(/^\s+|\s+$/g,'').split(/\s+/);
这将在拆分之前从字符串的开头和结尾删除任何空格。
在拆分字符串之前调用 .trim() ,它将删除字符串前后的空格
line.trim().split(/\s+/);
这应该做你想要的。
做起来不是更容易吗
line.match(/\S+/g); // => ["hi", "there!"]
为什么不简单地使用
line.split(' ');
它分裂了“嗨!” 进入
["hi", "there!"]