正则表达式匹配特定数字之前但不是在javascript之后

时间:2013-02-07 03:19:16

标签: javascript regex

我只是吮吸正则表达式。我一直在http://www.regular-expressions.info/tutorial.html阅读,但我无法弄清楚如何写这个。

我有一个包含2个数字的字符串(每月的天数为0)。我正在尝试从字符串中删除前导0但不删除“10”或“20”中的0。

可以在这里的示例字符串: “01”, “02”, “03”, “10”, “11”, “12”, “20”, “31”

由于字符串始终是一个月中的某一天,因此长度始终为2个字符,始终在01到31之间。

目前我正在使用它(这显然是错误的):

string.replace(/0/,'');

我最终想要的是: “1”代替“01”,“2”代替“02”,“10”而不会丢失“0”。

希望这很清楚。

我该如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

如果字符串只包含数字,您可以将其转换为整数,例如:

var num = +str;

如果要替换较大字符串的部分内容,可以使用\b

str.replace(/\b0+\B/g, '');

示例:

"i have 000100 and 0020!".replace(/\b0+\B/g, '')

返回:

"i have 100 and 20!"