繁体   English   中英

使用正则表达式将字符替换为特定字符

[英]Replace chars up to a specific char using Regex

我有一个字符串“ 000-2.50”或“ 00-12.50”或“ 0-120.50”,我想用一个@字符替换零直到负号“-”。

我想以“ @@@-2.50”或“ @@-12.50”或“ @ -120.50”结尾。 如何使用正则表达式实现这一目标?

使用正向先行查找所有零后跟一个破折号:

方法1:

0(?=[^-]*-)

JS代码:

 console.log( "000-2.50".replace(/0(?=[^-]*-)/g, "@") ); 

方法2

或者,如果您只想要前导零:

 console.log( "000-2.50".replace(/^0+(?=-)/g, function(match) { return "@".repeat(match.length); }) ) 

要从字符串开头替换每个0 ,如何使用粘滞标记y

 var str = '000-2.50'; var res = str.replace(/0/gy, '@'); console.log(res); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM