如何解决如何在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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。