正则表达式在Python中搜索和替换子字符串

时间:2015-04-29 15:06:34

标签: python regex

我需要一些python中的正则表达式的帮助。

我有一个这样的字符串:

>>> s = '[i1]scale=-2:givenHeight_1[o1];'

如何删除givenHeight_1并将字符串转换为此字符串?

>>> '[i1]scale=-2:360[o1];' 

这样的工作是否有一个高效的单行正则表达式?

更新1: 到目前为止,我的正则表达式是这样的,但目前无效:

re.sub('givenHeight_1[o1]', '360[o1]', s)

1 个答案:

答案 0 :(得分:2)

您可以将正look around与re.sub:

一起使用
>>> s = '[i1]scale=-2:givenHeight_1[o1];'
>>> re.sub(r'(?<=:).*(?=\[)','360',s)
'[i1]scale=-2:360[o1];'

前面的正则表达式将使用:替换[之后和'360'之前的任何内容。

或根据您的需要,您可以直接使用str.replace

>>> s.replace('givenHeight_1','360')
'[i1]scale=-2:360[o1];'