首页 > 解决方案 > 替换字符串中的特定“var”

问题描述

我有一个带有多个“”的字符串,我需要替换一个特定的字符串。但这不起作用,谁能告诉我该怎么做?

试过这个

jsdump = jsdump.replace('"var"', card_var).strip()
jsdump = jsdump.replace("""var""", card_var).strip()

没事了。

这就是我需要的:

card_var = cd1

基本上有:“in sentence”、“var”是可以的”

需要替换为:“在句子中”,“cd1 可以”

标签: python-3.x

解决方案


我在写评论时想到的解决方案:

import re
mystr = '"in sentence","where "var" is ok"'

replacement_dict = {"var": "cd1"}    # add other replacements to the dict following your needs
print(re.sub(r'"(\w+)"', lambda x: replacement_dict.get(x.group(1), x.group()) , mystr))

我们替换字典中找到的元素(然后删除引号),如果不在字典中,则保持不变(保留引号)。


推荐阅读