我需要知道如何在打开括号之前插入一个星号。
我正在使用javascript eval
进行乘法,例如eval("2(3)")
,但我收到错误"unexpected input value"
。
要解决这个问题,我需要以下内容:
var str = "2(3)";
要改为:
output = "2*(3)";
答案 0 :(得分:2)
您可以使用String.prototype.replace()。
示例:
var str = '2(3)'
var output = str.replace(/\(/g, '*(')
console.log(output)

这将输出:2*(3)
答案 1 :(得分:2)
如果要执行更复杂/嵌套的乘法,则需要将此更复杂的正则表达式(\)|\d+(?!\d)\.?)(?=[(\d.+-])
与replace()
函数一起使用。它适用于嵌套括号的任意组合,以及以小数点开头或结尾的加号,负数和数字:
var str, output;
str = '2(3)';
output = str.replace(/(\)|\d+(?!\d)\.?)(?=[(\d.+-])/g, '$1*');
console.log(output);
str = '2(3)(-4)';
output = str.replace(/(\)|\d+(?!\d)\.?)(?=[(\d.+-])/g, '$1*');
console.log(output);
str = '((.22(33))((-44)-55.(66)+77))';
output = str.replace(/(\)|\d+(?!\d)\.?)(?=[(\d.+-])/g, '$1*');
console.log(output);
答案 2 :(得分:1)
您可以使用replace()
功能结合一点正则表达式([0-9])\(([0-9])
:
var str = "2(3)";
var output = str.replace(/([0-9])\(([0-9])/g,'$1*($2');
console.log(output);

答案 3 :(得分:0)
您可以对字符串进行切片并添加如下星号:
JComboBox
答案 4 :(得分:0)
试试这个:
var str = "2(3)";
var a = str.split('');
a.splice(1,0,"*");
a = a.join('');
console.log(a);

对我有用:)