我在节点中有这个:
>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''根' ...]
答案 0 :(得分:13)
感谢您的评论。 似乎根本不需要引号:
> out.split(/\s+/);
答案 1 :(得分:3)
您使用文字字符串\s+
进行拆分,它会将"a\\s+b"
拆分为a
和b
。
使用正则表达式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()
)。