如何在Javascript中合并两个替换?

问题描述

var price = "19,99 $"
price.replace(/[^0-9,.]/g,'').replace(",",".");
console.log(price)

output
19.99
  • 但我需要用一个替换来替换两个替换操作! 有可能吗?

解决方法

这是可能,但可能不值得。你必须传递一个函数作为第二个参数:

var price = "19,99 $";
price = price.replace(/[^0-9.]/g,m => m === "," ? "." : "");
console.log(price);

我从否定字符类中删除了 ,,然后在回调中检查匹配项是否为 ,,如果是,则返回 ".",如果不是,则返回 "" .另请注意将结果分配回 price(您原来的不是,它丢弃了结果)。

,

你可以得到所有数字并用点连接。

var price = "19,99 $"
price = price.match(/\d+/g).join('.');

console.log(price);

,

您可以用 is not 0-9 and,with " ".split 替换 comma as separator 之后 join with dot 字符串的任何内容。

const price = "19,99 $"
const result = price.replace(/[^0-9,]/g,"").split(",").join(".");

console.log(result);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...