Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python .replace()不替换所需的字符串_Python_Regex - Fatal编程技术网

Python .replace()不替换所需的字符串

Python .replace()不替换所需的字符串,python,regex,Python,Regex,我正在字符串上使用一个简单的“.replace()”函数来将一些文本替换为空,如下所示: .replace("('ws-stage-stat', ", '') 我还尝试使用正则表达式来实现这一点,如下所示: match3a = re.sub("\(\'ws-stage-stat\', ", "", match3a) 此字符串从以下网页第684行的源代码中提取: 我已经将代码的其余部分提取并整理成一些可用的数据,但最后这一部分不起作用,并且顽固地拒绝被替换。这似乎是一个非常直截了当的问题,但

我正在字符串上使用一个简单的“.replace()”函数来将一些文本替换为空,如下所示:

.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等。反斜杠不在正在分析的字符串中,而是转义“'”字符。