从.txt文件中删除整个单词,但不会在该单词作为子字符串显示时删除

时间:2017-12-06 17:03:26

标签: python

我目前正在制作一个python程序来搜索提供的.txt文件,并删除任何数字,逗号和某些单词。它用于转录电话,所以这些是“嗯”和“呃”这样的词是不必要的。这将被写回一个新的文本文件,其中包含除已删除数据之外的所有内容。

我制作的代码有效,但也会从包含它们的任何更长的单词中删除这些单词,例如“动量”变成“时刻”,因为它包含“嗯”。这是代码:

infile = "testfile.txt"
outfile = "cleanedfile.txt"
numbers = [1,2,3,4,5,6,7,8,9]
deleteList = [",", "Um", "um", "Uh", "uh", str(numbers)]
fin = open(infile)
fout = open(outfile, 'w+')
for line in fin:
    for word in deleteList:
        line = line.replace(word, "")
    fout.write(line)
fin.close()
fout.close()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我使用正则表达式解决了它,将代码更改为:

import re

for line in fin:
    line = re.sub(r"\b(U|u)(m|h)\b", "", line)
    fout.write(line)

感谢大家的帮助。