1

我在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
трендафилов во мвр се Најавени нови смени поврзани со безбедноста и борбата против организираниот криминал
4

1 回答 1

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 нови смени поврзани со безбедноста и борбата против организираниот криминал
于 2012-06-04T13:32:20.097 回答