gpt4 book ai didi

javascript - 我可以在 text.replace 函数的第二部分使用我的正则表达式的一部分吗?

转载 作者:行者123 更新时间:2023-11-29 19:40:00 24 4
gpt4 key购买 nike

假设我有一个包含 10km 的文本,我想将其转换为 m:

var sample = "100km"
sample = sample.replace(/(\d)+(km)/g,(d * 1000).toString() + "m")

这不起作用,因为我认为“d”不被识别为正则表达式中的那个。有没有解决的办法? (我想使用文本中找到的“100”,而且它可能在文本中出现不止一次,例如“100m 10m”等...)

最佳答案

您可以将 String#replace 与回调一起使用并进行计算:

sample = '123.456km';
sample = sample.replace(/\b(\d+(?:\.\d+)?)k(?=m)/g, function($0, $1) { return parseFloat($1)*1000; } );
//=> 123456m

或者你想避免前瞻:

sample = sample.replace(/\b(\d+(?:\.\d+)?)km/g, function($0, $1) { return parseFloat($1)*1000+'m'; } );

关于javascript - 我可以在 text.replace 函数的第二部分使用我的正则表达式的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23732522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com