按多个空格NodeJS拆分字符串

时间:2016-10-27 10:41:02

标签: javascript node.js string

我在节点中有这个:

>out
'java    1303 root  187u   CHR  166,0      0t0 14586 /dev/ttyACM0\n'
>typeof out
'string'
> out.split("\\s+"); 
[ 'java    1303 root  187u   CHR  166,0      0t0 14586 /dev/ttyACM0\n' ]

我希望分裂的字符串,例如['的java'' 1303''根' ...]

2 个答案:

答案 0 :(得分:13)

感谢您的评论。 似乎根本不需要引号:

> out.split(/\s+/); 

答案 1 :(得分:3)

您使用文字字符串\s+进行拆分,它会将"a\\s+b"拆分为ab

使用正则表达式RegExp("\\s+")/\s+/(更好,因为模式是静态的):



var s = 'java    1303 root  187u   CHR  166,0      0t0 14586 /dev/ttyACM0\n';
console.log(s.trim().split(/\s+/));




我还建议修剪输入以摆脱开头/结尾处的空元素。

另请注意,.split(/\s+/g) = .split(/\s+/)(全局修饰符隐含String#split())。