def censor2(filename):
infile = open(filename,'r')
contents = infile.read()
contentlist = contents.split()
print (contents)
print (contentlist)
for letter in contentlist:
if len(letter) == 4:
print (letter)
contents = contents.replace(letter,'xxxx')
outfile = open('censor.txt','w')
outfile.write(contents)
infile.close()
outfile.close()
此代码适用于 Python。它接受一个文件'example.txt',读取它并循环使用字符串'xxxx'替换所有4个字母单词并将其输出到一个名为censored.txt的新文件中(保持原始格式!)。
我使用了替换功能并找到了要替换的单词。但是,单词“abcd”被替换,下一个单词“abcde”变成了“xxxxe”
如何防止“abcde”被更改?
我无法让下面的例子工作,但在使用 re.sub 模块后,我发现下面的代码只能替换 4 个字母的单词而不是 5 个字母的单词。
contents = re.sub(r"(\b)\w{4}(\b)", r"\1xxxxx\2", contents)