如何在字符串中搜索文本并替换为其值

时间:2016-07-28 00:04:28

标签: python

我需要在字符串s中搜索image_bid,如果在这种情况下存在需要用其值DEBUG替换该字符串,我尝试了以下但是似乎没有用,任何人都可以建议我该怎么做?

import re
s = "cols/sel/Pkg/Bin/LA/${image_bid:DEBUG}/"

match = re.search('image_bid:(\w+)',s)
print match.group(1)

if match:
    final_value = s.replace('image_bid:(\w+)',match.group(1))
print final_value

MY OUTPUT:-
cols/sel/Pkg/Bin/LA/${image_bid:DEBUG}/

Expected output:-
cols/sel/Pkg/Bin/LA/DEBUG

2 个答案:

答案 0 :(得分:0)

  

方法replace()返回其中的字符串的副本   旧的事件已被替换为新的,可选地限制   最多的替换次数

对于字符串支持正则表达式,它似乎不是replace方法,而是使用re.sub

if match:
    final_value = re.sub(r'\${image_bid:\w+}',match.group(1), s)
print final_value
# cols/sel/Pkg/Bin/LA/DEBUG/

答案 1 :(得分:0)

你可能想要像

这样的东西
final_value = re.sub(r'\$\{image_bid\:(\w+)\}/', r'\1', s)
相关问题