我在 python 中有以下示例,但它不起作用:
>>> replace = re.compile(ur'најавени', flags=re.IGNORECASE)
>>> docText = replace.sub("најавени1",docText)
>>> print docText
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
>>> docText = replace.sub(u"најавени1",docText)
>>> print docText
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
>>> docText = replace.sub(u"најавени1",docText,re.IGNORECASE)
>>> print docText
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
有什么提示吗?我只想替换文本中的字符串,它可以用英语工作,但不能用我的母语工作。
第二次尝试:
>>> docText = "трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал"
>>> replace = re.compile(ur'Најавени', flags=re.IGNORECASE)
>>> docText = replace.sub(u"најавени1",docText,re.IGNORECASE)
>>> print docText
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
最佳答案
您需要指定支持 unicode 的字符串和正则表达式,如下所示:
>>> import re
>>> replace = re.compile(ur'најавени', flags=re.IGNORECASE | re.UNICODE)
>>> docText = u"трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал"
>>> print docText
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
>>> docText = replace.sub(u"најавени1",docText)
>>> print docText
трендафилов во мвр се најавени1 нови смени поврзани со безбедноста и борбата против организираниот криминал
关于python - 正则表达式 unicode 替换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10882027/