删除IP地址中不必要的零:
100.020.003.400 -> 100.20.3.400
001.200.000.004 -> 1.200.0.4
000.002.300.000 -> 0.2.300.0 (optional silly test)
我的尝试并非在所有情况下都奏效:
import re
ip = re.sub('[.]0+', '.', ip_with_zeroes)
有类似的问题,但对于其他语言:
Perl
SQL
请提供Python v2和v3的解决方案。
最佳答案
使用netaddr library然后它有ZEROFILL
标志:
import netaddr
ip = "055.023.156.008"
no_zero_ip = netaddr.IPAddress(ip, flags=netaddr.ZEROFILL).ipv4()
# IPAddress('55.23.156.8')
如果您不希望
no_zero_ip
类型