正则表达式,用于去除被视为字符串的前导零
我有这样的数字需要删除前导零。
这是我需要的:
00000004334300343
-> 4334300343
0003030435243
-> 3030435243
我无法弄清楚这一点,因为我是正则表达式的新手。这不起作用:
(^0)
我有这样的数字需要删除前导零。
这是我需要的:
00000004334300343
-> 4334300343
0003030435243
-> 3030435243
我无法弄清楚这一点,因为我是正则表达式的新手。这不起作用:
(^0)
你快到了。你只需要量词:
str = str.replaceAll("^0+", "");
它替换 1 次或多次出现 0(这就是量词的用途。类似地,我们有量词,意思是0或更多),在字符串的开头(由插入符号给出 - ),带有空字符串。+
*
^
如果需要从“00”中获取“0”,则接受的解决方案将失败。这是正确的一个:
str = str.replaceAll("^0+(?!$)", "");
^0+(?!$)
表示 如果字符串后面没有结尾,则表示匹配一个或多个零。
感谢评论者 - 我已经更新了公式以匹配作者的描述。