【发布时间】:2021-05-11 02:24:06
【问题描述】:
我有一个包含以下数据的 test.txt 文件:
jon doe smith
\jon\-\1\ \jon\-\2\ \jon\-\3\ \doe\- \1\ \doe\-\2\
\doe\-\3\ \smith\- \1\ \smith\-\2\ \smith\-\3\
我一直试图从 txt 文件中删除下面代码中提到的列表“名称”中提到的内容。
with open(r'test.txt', 'r') as file:
data = file.read()
print(data)
name=['jon','doe']
for e in name:
new_string=data.replace('\\' + e + '\\-\\1\\',' ').replace('\\' + e + '\\-\\2\\',' ').replace('\\' + e + '\\-\\3\\',' ').replace('\\' + e + '\\',' ')
print(new_string)
此代码呈现的输出:-
jon doe smith
\jon\-\1\ \jon\-\2\ \jon\-\3\ \doe\- \1\ \doe\-\2\
\doe\-\3\ \smith\- \1\ \smith\-\2\ \smith\-\3\
jon doe smith
\jon\-\1\ \jon\-\2\ \jon\-\3\ - \1\
\smith\- \1\ \smith\-\2\ \smith\-\3\
我需要的输出:-
jon doe smith
\jon\-\1\ \jon\-\2\ \jon\-\3\ \doe\- \1\ \doe\-\2\
\doe\-\3\ \smith\- \1\ \smith\-\2\ \smith\-\3\
smith
\smith\- \1\ \smith\-\2\ \smith\-\3\
还有没有一种方法可以代替替换,正则表达式可以用于此?
【问题讨论】:
标签: python python-3.x string replace re