2

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

"&
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() 没有完成它的工作。有任何想法吗?

4

3 回答 3

5

您必须将其重新分配给page

page = re.sub("&",'',page)
于 2013-10-25T19:40:51.873 回答
3

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

所以你想要的是

page = re.sub("&", '', page)
于 2013-10-25T19:43:13.747 回答
2

我敢打赌它可以完成它的工作,您唯一需要修复的是打印不是存储在变量“page”中的旧版本文本,而是存储在新变量中的新版本,如下所示:

new_text = re.sub('&', '', page)
print new_text
于 2013-10-25T19:47:46.670 回答