我正在尝试获取一个包含 DNS 查找列表的输入文件,其中包含子域/域分隔符,字符串长度在括号中而不是句点中。它看起来像这样:
(8)subdomain(5)domain(3)com(0)
(8)subdomain(5)domain(3)com(0)
(8)subdomain(5)domain(3)com(0)
我想用句点替换括号和数字,然后删除第一个和最后一个句点。我的代码目前执行此操作,但保留了最后一段。任何帮助表示赞赏。这是代码:
import re
file = open('test.txt', 'rb')
writer = open('outfile.txt', 'wb')
for line in file:
newline1 = re.sub(r"\(\d+\)",".",line)
if newline1.startswith('.'):
newline1 = newline1[1:-1]
writer.write(newline1)
最佳答案
您可以使用 \(\d+\)
正则表达式拆分行,然后使用 .
连接两端的逗号:
for line in file:
res =".".join(re.split(r'\(\d+\)', line))
writer.write(res.strip('.'))
参见 IDEONE demo
关于Python - 用句点替换括号并删除第一个和最后一个句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32865763/