我在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
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
答案 0 :(得分:2)
您需要指定识别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 нови смени поврзани со безбедноста и борбата против организираниот криминал