Python .replace()不替换所需的字符串
我正在字符串上使用一个简单的“.replace()”函数来将一些文本替换为空,如下所示:Python .replace()不替换所需的字符串,python,regex,Python,Regex,我正在字符串上使用一个简单的“.replace()”函数来将一些文本替换为空,如下所示: .replace("('ws-stage-stat', ", '') 我还尝试使用正则表达式来实现这一点,如下所示: match3a = re.sub("\(\'ws-stage-stat\', ", "", match3a) 此字符串从以下网页第684行的源代码中提取: 我已经将代码的其余部分提取并整理成一些可用的数据,但最后这一部分不起作用,并且顽固地拒绝被替换。这似乎是一个非常直截了当的问题,但
.replace("('ws-stage-stat', ", '')
我还尝试使用正则表达式来实现这一点,如下所示:
match3a = re.sub("\(\'ws-stage-stat\', ", "", match3a)
此字符串从以下网页第684行的源代码中提取:
我已经将代码的其余部分提取并整理成一些可用的数据,但最后这一部分不起作用,并且顽固地拒绝被替换。这似乎是一个非常直截了当的问题,但对我来说就是行不通
有什么想法吗
谢谢第一次更换应该可以。确保将替换结果分配到某个位置,例如:
mystring = mystring.replace("('ws-stage-stat', ", '')
我认为你没有正确地脱离正则表达式 这是我的“模式”应用程序吐出的代码:
re.sub("\\(\\'ws-stage-stat\\', ", "", match3a)
快速测试表明它工作正常。无需退出
“
。试试\('ws-stage-stat',
我的完整语法与上面完全相同,但它仍然不能工作。谢谢,谢谢你的回答。为什么在你的示例中使用双反斜杠,而不是单反斜杠?我尝试将其添加到我的Scrapy代码中,但它仍然不能替代字符串。出于某种原因,我只能将其用于替换'('、'-'和文本体在单独的.replace()语句中。奇怪的是……您需要反斜杠来转义反斜杠,以便Python在字符串中只使用一个反斜杠来组装正确的正则表达式。在字符串中使用一个反斜杠会使Python认为您想要使用常规(非正则表达式)转义序列,如\n、\r等。反斜杠不在正在分析的字符串中,而是转义“'”字符。