正则表达式删除所有非数字和第一个字符,如果它等于零。

时间:2015-01-26 14:51:31

标签: regex

我知道:myString.replace(/\D/g,'')替换myString中的所有非数字。但是如果我还想删除第一个字符,只要它等于零(0)。我可以在一次替换中写这个吗?

3 个答案:

答案 0 :(得分:1)

使用更改运算符|

myString.replace(/^0|\D/g,'')

^主播声称我们刚开始。

答案 1 :(得分:1)

您可以使用管道运算符执行以下操作,这意味着或。 Anchor ^表示字符串的开头。

myString = myString.replace(/^0|\D/g, "");

答案 2 :(得分:1)

^0|\D

应该这样做。试试这个。

参见演示。

https://www.regex101.com/r/rG7gX4/28

1st Alternative: ^0

^ assert position at start of a line
0 matches the character 0 literally

2nd Alternative: \D

\D match any character that's not a digit [^0-9]