删除我自己的标签内容的最佳做法是什么?

时间:2015-03-25 07:31:49

标签: python regex django string unicode

我使用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

1 个答案:

答案 0 :(得分:1)

尝试使用re.sub(ur'<nospeak>.*?</nospeak>', '', text)

要在正则表达式模式之前阅读ur上的更多内容,您可以查看What exactly do "u" and "r" string flags do in Python, and what are raw string literals?帖子。