Javascript正则表达式-仅删除字符串中的前0位数字
我有一个包含字符和数字的javascript字符串。现在,如果字符串包含一系列(仅限阿拉伯语)数字,例如Javascript正则表达式-仅删除字符串中的前0位数字,javascript,regex,Javascript,Regex,我有一个包含字符和数字的javascript字符串。现在,如果字符串包含一系列(仅限阿拉伯语)数字,例如 邦德先生是0070号代理人 我想删除其中的第一个零: 结果:邦德先生是070号特工 非零数字后面的其他零不应删除 我在regex php Flavor中的解决方案是/[[^\]]*?\K0/,它可以完美地工作 不幸的是,Javascript不支持php的反斜杠K功能(\K)。使用此正则表达式/0\d+/,并传递回调以呈现结果 var str=“邦德先生是代理人0070”; str=str.
邦德先生是0070号代理人
我想删除其中的第一个零:
结果:邦德先生是070号特工
非零数字后面的其他零不应删除
我在regex php Flavor中的解决方案是/[[^\]]*?\K0/
,它可以完美地工作
不幸的是,Javascript不支持php的反斜杠K功能(\K)。使用此正则表达式
/0\d+/
,并传递回调以呈现结果
var str=“邦德先生是代理人0070”;
str=str.replace(/0\d+/),函数(t){
返回t子串(1);
});
console.log(str)
您只需要s=s.replace(“0”,“0”)
,不需要正则表达式。在PHP中,要删除第一个0
,可以使用$s=preg_replace(“~0~”,“$s,1”)
您是说如果字符串是XYZ 700
,则不应将其转换为XYZ 70
?您的解决方案基本上是str=str.replace(/0(\d+/,“$1”)
为什么不使用Wiktor提到的更简单的替换
功能呢?@Tyler上述功能也将处理Bond先生是0 0070
@Tyler它将把700
变成70
@WiktorStribiż如果你是对的,我忘了分组结果。我要提到这一点。