gpt4 book ai didi

python - file.replace ('abcd' ) 也替换了 'abcde' 如何只替换精确值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:59:58 26 4
gpt4 key购买 nike

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”,读取它并循环将所有 4 个字母的单词替换为字符串“xxxx”并将其输出到一个名为 censored.txt 的新文件(保持原始格式!)。

我使用替换功能并找到要替换的单词。但是,单词'abcd'被替换,下一个单词'abcde'变成'xxxxe'

如何防止“abcde”被更改?

我无法让下面的示例正常工作,但在使用 re.sub 模块后,我发现以下代码只能替换 4 个字母的单词,而不是 5 个字母的单词。

contents = re.sub(r"(\b)\w{4}(\b)", r"\1xxxxx\2", contents)

最佳答案

怎么样:

re.sub(r'\babcd\b','',my_text)

这将要求它在两边都有单词边界

关于python - file.replace ('abcd' ) 也替换了 'abcde' 如何只替换精确值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com