re.sub不适用于python

时间:2013-10-25 19:38:53

标签: python

我在文本文件中有以下文字:

"&
ALIGN="left"
COMSTOCK OIL & GAS, LP

ALIGN="right"
170040

ALIGN="left"
WOLFBONE (TREND AREA)&"

以下是导入所有内容后的代码:

text_file = open("pages.txt", "r")
page = text_file.read()

regextext = "&"
pattern1 = re.compile(regextext)
search1 = re.findall(pattern1, page)
print search1

re.sub("&",'',page)
print page

search1 = re.findall(pattern1, page)
print search1

它并没有剥离"&"。 findall找到所有实例,但re.sub()没有完成它的工作。有任何想法吗?

3 个答案:

答案 0 :(得分:5)

您必须将其重新分配回page

page = re.sub("&",'',page)

答案 1 :(得分:3)

re.sub不会就地执行替换。它返回一个带有替换结果的新字符串。如果您愿意,可以随意重新分配原始变量名称。

所以你想要的是

page = re.sub("&", '', page)

答案 2 :(得分:1)

我敢打赌,这是它的工作,你需要解决的唯一问题是打印不是存储在变量“页面”中的旧版本的文本,而是新的<存储在一个新变量中,如下所示:

new_text = re.sub('&', '', page)
print new_text