繁体   English   中英

正则表达式搜索并替换Python中的子字符串

[英]Regex search and replace substring in Python

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

我有一个像这样的字符串:

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

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

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

是否有有效的单行正则表达式来完成这项工作?

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

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

您可以对re.sub使用正面look around

>>> 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];'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM