javascript - 如何用它的值替换字符串中的表达式?

标签 javascript regex replace parsefloat

抱歉,如果问题措辞不当,但我想问的是,如何用两个捕获组的乘积替换 JS 中字符串的子字符串?明白我的意思,看看下面一行。我将如何执行如下任务:

expression.replace(regexp,parseFloat("$1")*parseFloat("$3"));

当“正则表达式”为 /(\d+(\.\d+)?)\*(\d+(\.\d+)?)/ 时而“表达”是"20*5"

它不起作用,我也不确定为什么。 expression.replace(regexp,"$1_$3")打印出 20_5 , 所以 为什么要放 "$1""$3"parseFloat()将它们的值从第一组和第三组的值更改为字符串 "$1""$3" ?

如果您想知道,这是针对网站 GraphWidget 的作为 PLTW 类(class)的 STEM 项目。

谢谢。

最佳答案

如果你这样做我认为没有区别:

"20*5".split('*').reduce(function(a,c){ 
   return  a <=0? c : a*c 
 },0);

这种方法的优点是它也可以使用 "20*5*3" 无需更改代码

Disclaimer: I understand you may want to use regular expressions to resolve your issue. I am just providing a side view of the problem.

关于javascript - 如何用它的值替换字符串中的表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705236/

相关文章:

javascript - 查找字符串中 src 的值

javascript - 使用折线的谷歌地图方向渲染器错过了航路点中的一些路线

javascript - req.target 显示未定义 - sails.js

php - 使用 PHP 脚本调用 json 数据并从数据库 Grails 中获取数据很慢

regex - 美国银行机构帐号正则表达式?

java - 将字符串替换为 2 个范围(或)之间的 ASCII 值

r - 查找并用星号替换单元格,*

sql - SQL Server 替换函数的工作

c# - 正则表达式:匹配多个平衡组

mysql - 替换 & 符号