在Python3中,我希望能够以“不区分重音”的方式使用re.sub()
,就像我们可以用re.I
标志来进行不区分大小写的替换一样。在
可能是re.IGNOREACCENTS
标志:
original_text = "¿It's 80°C, I'm drinking a café in a cafe with Chloë。"
accent_regex = r'a café'
re.sub(accent_regex, 'X', original_text, flags=re.IGNOREACCENTS)
这会导致“这是80°C,我在X和Chloë一起喝X”(注意“Chloë”仍然有重音)而不是“It's 80°C,I'm dring X in a cafe with Chloë”用的是真正的python。在
我认为没有这样的旗帜。那么,最好的选择是什么呢?在original_text
和{re.finditer
和{accent_regex
中的所有字符,例如:r'[cç][aàâ]f[éèêë]'
?在
在Python中,^{} 经常被用来删除重音符号,但它的作用还不止于此:它将
'°'
转换为'deg'
,这可能不是期望的输出。在^{} 似乎有{a3}。在
有任何图案
此方法应适用于任何模式和任何文本。在
您可以暂时删除文本和正则表达式模式中的重音符号。来自^{} (起始和结束索引)的匹配信息可用于修改原始的重音文本。在
请注意,为了不修改以下索引,必须反转匹配项。在
如果模式是一个词或一组词
你可以:
\w+
查找文本中的每个单词X
^{pr2}$
您可以使用Unidecode:
在您的计划中:
^{pr2}$相关问题 更多 >
编程相关推荐