0

我想用空格分割一行文本(即去掉所有的空格并将其余的作为单独的元素)。我有这个代码:

line.split(/\s+/);

但它并不完全符合我的要求。例如hi there!,它拆分为:[hi,there!,](注意数组末尾的 1 个空元素)。如何在没有最后一个空元素的情况下拆分一行?

4

5 回答 5

4

您确定字符串末尾没有空格吗?因为它对我有用。

无论如何,试试这个:

line.replace(/^\s+|\s+$/g,'').split(/\s+/);

这将在拆分之前从字符串的开头和结尾删除任何空格。

于 2012-11-28T01:15:42.277 回答
2

在拆分字符串之前调用 .trim() ,它将删除字符串前后的空格

于 2012-11-28T01:17:53.950 回答
2
line.trim().split(/\s+/);

这应该做你想要的。

于 2012-11-28T01:18:27.570 回答
0

做起来不是更容易吗

line.match(/\S+/g); // => ["hi", "there!"]
于 2012-11-28T01:45:10.027 回答
-1

为什么不简单地使用

line.split(' ');

它分裂了“嗨!” 进入

["hi", "there!"]
于 2012-11-28T01:15:58.273 回答