[英]Replace words between double brackets in python
我可以从用户那里收到 2 种类型的字符串。
cmd1 = inst1.exe license.dat
cmd2 = {{installer}} {{license}}
我必须用字典中的东西替换大括号之间的字符串( {'installer': 'inst1.exe', 'license': 'license.dat'}
)
我正在尝试这样的事情:
def my_replace_method(cmd, dict)
for key, value in dictionary.items():
cmd.replace(key, value)
致电:
my_replace_method(cmd2, dict)
我得到的 output 是: "{{inst1.exe}} {{license.dat}}"
而不是"inst1.exe license.dat"
和
my_replace_method(cmd1, dict)
我得到的 output 是"inst1.exe license.dat.dat"
而不是"inst1.exe license.dat"
我对这两个命令的预期 output 是:inst1.exe license.dat 如何编写适用于两种输入类型的方法?
您应该使用cmd.replace("{{"+key+"}}", value)
或cmd.replace('{{%s}}'%key, value)
因为仅使用replace
替换文本并且仅替换您的文本给它。
因此,如果您也想匹配大括号,则需要包含大括号。
编辑:
这两个错误的原因如下:
license
替换为license.dat
而不是将{{licence}}
替换为license.dat
。因此license.dat
变为license.dat.dat
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.