javascript解析负数字符串(Javascript)

时间:2018-01-05 00:34:36

标签: javascript regex

我想解析一个包含负数的字符串。

示例输入:

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 ,)] 

问题:如何实现所需的输出?

1 个答案:

答案 0 :(得分:0)

您可以使用此模式,[ - +( - )]

var str = ['-3','+','2','+','(','3','-','2',')']
str.map (a => a.replace(/[-+\(\)]/g, ''))

收益率,

["3", "", "2", "", "", "3", "", "2", ""]

我想这就是你所追求的,用空格替换 - ,+ ,.