我想解析一个包含负数的字符串。
示例输入:
let str = '-3+2+(3-2)';
期望的输出:
['-3','+','2','+','(','3','-','2',')']
我的代码:
str=str.replace(/\s+/g,'');
str=str.replace(/--/g,'+');
str=str.replace(/\(/g,',(,');
str=str.replace(/\)/g,',),');
str=str.replace(/\//g,',/,');
str=str.replace(/\*/g,',*,');
str=str.replace(/\+/g,',+,');
str=str.replace(/\,+/g,',');
let arr=str.split(','); //
实际输出:
[ -3 ,+,2,+,(, 3-2 ,)]
问题:如何实现所需的输出?
答案 0 :(得分:0)
您可以使用此模式,[ - +( - )]
var str = ['-3','+','2','+','(','3','-','2',')']
str.map (a => a.replace(/[-+\(\)]/g, ''))
收益率,
["3", "", "2", "", "", "3", "", "2", ""]
我想这就是你所追求的,用空格替换 - ,+ ,.