我需要一些python中的正则表达式的帮助。
我有一个这样的字符串:
>>> s = '[i1]scale=-2:givenHeight_1[o1];'
如何删除givenHeight_1
并将字符串转换为此字符串?
>>> '[i1]scale=-2:360[o1];'
这样的工作是否有一个高效的单行正则表达式?
更新1: 到目前为止,我的正则表达式是这样的,但目前无效:
re.sub('givenHeight_1[o1]', '360[o1]', s)
答案 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];'