我使用Python 2.7和Django 1.6。
我使用unicode。
我想删除自己标记的内容。
我自己的标记名称是<nospeak>
。
例如,如果输入以下信息,
INPUT:
foofoo<nospeak>barbar</nospeak>hogehoge
我希望结果如此。
输出:
foofoohogehoge
* <nospeak>barbar</nospeak>
已删除
重要的是还包括unicode。
我创建了我的方法。它运行正常。 但是,我在Django中使用它。它没有运行。
你能告诉我删除自己标签内容的好习惯吗?
F.I.Y 我创建的方法。
# -*- coding: utf-8 -*-
import re
def __make_speakable_text(text):
pattern = r"(<nospeak>.*?</nospeak>)"
matches = re.findall(pattern, text)
speakable_text = text
if len(matches) == 0:
print 'Not match'
else:
for match in matches:
# print match
speakable_text = speakable_text.replace(match, '')
return speakable_text
答案 0 :(得分:1)
尝试使用re.sub(ur'<nospeak>.*?</nospeak>', '', text)
。
要在正则表达式模式之前阅读u
和r
上的更多内容,您可以查看What exactly do "u" and "r" string flags do in Python, and what are raw string literals?帖子。