python - Python - 从 IP 地址中删除前导零
问题描述
我正在尝试从 IP 地址中删除前导零,但它不起作用
import re
def remove_zeros_from_ip(ip_add):
string = re.sub('(?!(\.0\.))(\.[0]{1,2})', '.', ip_add)
return string
ip = '10.0.01.10'
print(remove_zeros_from_ip(ip))
ip1 = '10.00.002.20'
print(remove_zeros_from_ip(ip1))
但得到这个-
10.0.1.10
10..2.20
怎么获得?-
10.0.1.10
10.0.2.20
解决方案
您可以拆分 IP 八位字节,然后将字符串中的八位字节转换为 int,然后再转换回 str。
>>> ip='10.00.01.10'
>>> '.'.join([str(int(x)) for x in ip.split('.')])
'10.0.1.10'
推荐阅读
- python - Python 基于连接条件的字典连接列表
- javascript - 视差滚动和交替文本同时
- html - 仅在右侧对齐一个链接,flex-end 不起作用
- r-markdown - 如何在 Rmarkdown 中居中和删除图形标题
- vue.js - Getting all ids/values in a form in vuejs
- flutter - Flutter ListView 不会占用所有空间
- python - 如何使用 Pandas 根据另一列值获取列的中位数?
- php - 为什么我无法登录?
- azure-web-app-service - 在消息端点上使用 $search 参数时未返回 Microsoft Graph API @odata.count
- azure-devops - 在 Azure DevOps 管道生成结果页面中将开玩笑警告显示为警告