Pythonを使って、テキストファイルの「O」(大文字のオー)を「0」に置き換えるタスクをもらいました。ただし、1 つの条件は、Over、NATO などの他の単語を保持する必要があることです。900 から 900、2006 から 2006 などの単語のみを置き換える必要があります。私はたくさん試しましたが、まだ成功していません。私のコードを以下に示します。どなたか助けてください。前もって感謝します
import re
srcpatt = 'O'
rplpatt = '0'
cre = re.compile(srcpatt)
with open('myfile.txt', 'r') as file:
content = file.read()
wordlist = re.findall(r'(\d+O|O\d+)',str(content))
print(wordlist)
for word in wordlist:
subcontent = cre.sub(rplpatt, word)
newrep = re.compile(word)
newcontent = newrep.sub(subcontent,content)
with open('myfile.txt', 'w') as file:
file.write(newcontent)
print('"',srcpatt,'" is successfully replaced by "',rplpatt,'"')