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