如何合并 Javascript 中的两个替换?
How to Merge Two Replace in 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);
我从否定字符 class 中删除了 ,
,然后在回调中检查匹配项是否为 ,
,如果是,则返回 "."
,""
如果没有。另请注意将结果分配回 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);
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);
我从否定字符 class 中删除了 ,
,然后在回调中检查匹配项是否为 ,
,如果是,则返回 "."
,""
如果没有。另请注意将结果分配回 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);