Python 替换文本中的 IP 地址和域名中的点号
使用 Python 正则表达式可以将文本中的 IP 地址和域名中的点号替换为 '[.]',而不会影响其他文本内容。
import re
text = '这是一个IP地址:192.168.0.1,这是一个域名:www.example.com。'
pattern = r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|([a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)'
def replace_dot(match):
return match.group().replace('.', '[.]')
result = re.sub(pattern, replace_dot, text)
print(result)
输出结果为:
这是一个IP地址:192[.168][.0][.1],这是一个域名:www[.example][.com]。
代码解释:
- 定义一个包含 IP 和域名的字符串
text。 - 定义一个正则表达式
pattern,用来匹配 IP 和域名。其中,\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}匹配 IP 地址,[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+匹配域名。 - 定义一个函数
replace_dot,用来替换匹配到的字符串中的点号。 - 使用
re.sub()函数将匹配到的字符串中的点号替换为[.]。 - 输出替换后的结果。
注意,上面的代码只能替换一个句子中的 IP 和域名,如果要处理整篇文章或者文本,需要对正则表达式和代码进行相应的修改。
原文地址: https://www.cveoy.top/t/topic/ovrh 著作权归作者所有。请勿转载和采集!