我试图re.sub用例如值替换指定的模式
re.sub
for lines in f: pattern='\${2}'+key[0]+'\${2}' re.search(pattern,lines)
这将返回找到模式的行。例如,这是得到的测试返回值之一
这是$$ test $$
我遇到的问题是当我执行以下操作时
re.sub(pattern,key[1],lines)
没发生什么事。我想念什么?有关更多信息key[0]=test,key[1]=replace 所以我想做的就是每当遇到“ $$ test $$”时,它将用“替换”替换它。我没有发现“ $$ test $$”的问题,但是由于某种原因re.sub没有取代它。
key[0]=test
key[1]=replace
您 正在 将re.subback的结果分配给变量,对吗?例如
lines = re.sub(pattern, key[1], lines)
这是一个字符串,因此无法更改(Python中的字符串是不可变的),因此将创建一个新字符串并将其返回给您。如果不将其分配回名称,则会丢失该名称。