小编典典

Re.sub对我不起作用

python

我试图re.sub用例如值替换指定的模式

for lines in f:
    pattern='\${2}'+key[0]+'\${2}'
    re.search(pattern,lines)

这将返回找到模式的行。例如,这是得到的测试返回值之一

这是$$ test $$

我遇到的问题是当我执行以下操作时

re.sub(pattern,key[1],lines)

没发生什么事。我想念什么?有关更多信息key[0]=testkey[1]=replace 所以我想做的就是每当遇到“ $$ test
$$”时,它将用“替换”替换它。我没有发现“ $$ test $$”的问题,但是由于某种原因re.sub没有取代它。


阅读 200

收藏
2020-12-20

共1个答案

小编典典

正在re.subback的结果分配给变量,对吗?例如

lines = re.sub(pattern, key[1], lines)

这是一个字符串,因此无法更改(Python中的字符串是不可变的),因此将创建一个新字符串并将其返回给您。如果不将其分配回名称,则会丢失该名称。

2020-12-20