Python如何替换字符串中指定的带双引号的var文本?
问题原因分析
- 第一种写法
jsdump.replace('"var"', card_var).strip()匹配的是HTML编码格式的双引号包裹的var,如果你的原始字符串中是普通英文双引号而非"实体编码,自然无法命中匹配规则 - 第二种写法
jsdump.replace("""var""", card_var).strip()实际匹配的是不带双引号的纯文本var,和你要匹配的带双引号的"var"目标内容不符,因此替换不生效
正确实现方案
你需要匹配的目标是被双引号包裹的var字符串,在Python中可以用两种方式声明这个匹配子串:
- 用单引号包裹整个目标子串,避免双引号冲突
- 对双引号做转义处理
代码示例
card_var = "cd1" jsdump = '"in sentence","where "var" is ok"' # 写法1:单引号包裹带双引号的目标串 jsdump = jsdump.replace('"var"', card_var).strip() # 写法2:转义双引号(二选一即可) # jsdump = jsdump.replace("\"var\"", card_var).strip() print(jsdump)
输出结果
"in sentence","where cd1 is ok"
内容的提问来源于stack exchange,提问作者frepynow
相关产品推荐
相关产品推荐

