正则表达式在python中规范这些拼写

时间:2018-11-30 11:09:09

标签: python-3.x

我需要您的指导以使此代码正常运行。当我运行它时,它将返回所有已修改的单词,但缺少某些部分。例如,将u设为u,当您在元音之前以以下单词guuernement,reuestu,gouuvernez等进入v时,它返回vernement,vestu,vernez而不是gouvernement,revestu,gouvernez ....同样在re.compile方法中喜欢包含修改不涉及的单词列表。尊敬的用户,请新手帮助您解决正则表达式中的问题。

import re, string, unicodedata
import spacy
import codecs
import io
nlp = spacy.load('fr')
with codecs.open(r'/home/fatkab/RD/rule6output.txt', encoding='utf8')as f6:
  word6 =f6.read()
sub_pattern6= re.compile(r"\b[a-zA-Z]+[aieuo]+u([aieuo]+[a-zA-Z]+\b)")#turn u to v in words such as seruitude, gouuernement ,renouueller ...
print(re.sub(sub_pattern6, r"v\1", word6))

1 个答案:

答案 0 :(得分:0)

如果您仅打算将一个字符(此处为'u')替换为另一个字符(此处为'v'),则可以通过以下方式实现:

with open('path/to/your/file.txt', 'r+') as f:
    file_str = f.read()
    print(file_str)
    file_str = file_str.replace('u','v') # replacing the file str
    print(file_str) # later you can write this variable to the file itself

希望有帮助。