将数学字符串转换为JavaScript表达式

Converting a math string into a JavaScript expression

本文关键字:JavaScript 表达式 转换 字符串      更新时间:2023-09-26

我正在尝试使用JavaScript将字符串转换为有效的JavaScript表达式。

例如:

  • 4x+2y+1z应转换为4*x+2*y+1*z
  • 12r+6s应转换为12*r+6*s

我曾尝试使用正则表达式来完成此操作,但未能成功。

('d+)(?=[a-z])

试试这个。替换为$1*。请参阅演示。

http://regex101.com/r/rQ6mK9/31

下面的代码适用于您当前的输入。

> '4x+2y+1z'.replace(/('d)([a-z])/g, '$1*$2')
'4*x+2*y+1*z'
> '12r+6s'.replace(/('d)([a-z])/g, '$1*$2')
'12*r+6*s'

已编辑

尝试以下代码:

function strToExpression(str)
{
    return str.replace(/('d)+([A-Za-z])/g, '$1*$2');
}
var firstExpression = strToExpression('4x+2y+1z');
var secondExpression = strToExpression('12r+6s');