我在Node中有这个:
>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', 'root'...]
我在Node中有这个:
>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', 'root'...]
感谢您的评论。 看起来根本不需要引号:
> out.split(/\s+/);
out.trim().split(/\s+/)
一样。 - Wyck\s
也匹配换行符。如果您想在“空格 换行符 空格”上拆分,但不是在“空格”上拆分,该怎么办? - johny why\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()
时,全局匹配标志是隐含的)。
.split(/\s+/)
? - Andrey"\\s+"
是一个字符串,编译器将搜索精确值而不是模式。使用正则表达式进行模式匹配。 - Rajesh