Python 如何在字符串中搜索文本并替换为其值
我需要搜索字符串Python 如何在字符串中搜索文本并替换为其值,python,Python,我需要搜索字符串s中的图像\u 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+)'
s
中的图像\u 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
方法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/
方法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/
你可能想要像这样的东西
final_value = re.sub(r'\$\{image_bid\:(\w+)\}/', r'\1', s)
你可能想要像这样的东西
final_value = re.sub(r'\$\{image_bid\:(\w+)\}/', r'\1', s)
为什么您希望
${
和}/
消失?这不是一条可接受的路径……我只是说您的实现没有真正尝试删除它们。我不确定这是故意的还是疏忽。为什么您希望${
和}/
消失?这不是一条可接受的路径……我只是说您的实现没有真正尝试删除它们。我不确定这是故意的还是疏忽。我需要后面的前斜杠/
像cols/sel/Pkg/Bin/LA/DEBUG/
一样出现。您可以从模式中删除/
,这样它就不会被替换。添加它是因为它没有显示在预期的输出中。我需要尾部的前斜杠/
像cols/sel/Pkg/Bin/LA/DEBUG/
一样出现。您可以从模式中删除/
,这样它就不会被替换。添加它是因为它没有显示在您的预期输出中。