请问如何用模式匹配把01-09转换为1-9,而其它

请问如何用模式匹配把01-09转换为1-9,而其它

请问如何用模式匹配把01-09转换为1-9,而其它
请问如何用模式匹配把01-09转换为1-9,而其它11-99转换后保持不变?谢谢!
就是把数字的前面的0去掉啊

$num =~ s/0*(\d+?)$/$1/;
$str = "0102030405060708.
$str = "010203040506070809";
$str =~ s/0([1-9])/$1/g;
print "$str\n";
楼上请考虑这个: 102030.
楼上请考虑这个: 102030

按楼主要求应该是 102030,没变化

s/(\d{2})/int($1)/eg;
102030也可以理解为1, 02,.
102030也可以理解为1, 02, 03, 0的吧
[quote]回复给 shucho : 1.
[quote]回复给 shucho : 102030也可以理解为1, 02,....[/quote]

如果是这样,楼主的题目无解,无法判定0应该属于前者还是后者

to: anthony
只是讨论一个方法,不仅仅是给楼主解决问题,就题论题就没有必要引申什么东西了,你说呢 :)
恩,所以我觉得楼主只要01.
恩,所以我觉得楼主只要01-09的转换就行了
按照你的想法,楼主没必要.
按照你的想法,楼主没必要替换01-09为1-9了,除了第一位的0,其他0都不属于后面的数字。

我的理解是,楼主的数据中.
我的理解是,楼主的数据中只有01-09。好了,我不yy了:)
楼主根本不出现了……你们.
楼主根本不出现了……你们在那里瞎起劲……[CCB]12[/CCB]