您可以删除前面带有
.
或
^
(线的起点)后面跟着除
.
在它之前(
.
或开始行):
import re
def remove_zeros_from_ip(ip_add):
return re.sub('(^|\.)0+(?=[^.])', r'\1', ip_add)
测试:
ip = '10.0.01.10'
print(remove_zeros_from_ip(ip))
ip1 = '10.00.002.20'
print(remove_zeros_from_ip(ip1))
ip2 = '0010.00.02.0020'
print(remove_zeros_from_ip(ip2))
输出:
10.0.1.10
10.0.2.20
10.0.2.20
非正则表达式解决方案是将字符串拆分为
.
使用
str.rstrip
若要删除前导零,请使用
str.join
要重建字符串:
def remove_zeros_from_ip(ip_add):
return '.'.join(p.lstrip('0') or '0' for p in ip_add.split('.'))