You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何程序化构建含转义字符的字符串并匹配目标?

问题分析与解决

首先明确目标字符串string0的实际内容:
当Python解析后,string0的真实值是:

"case when \"LETTER\" in ('a','b') then \"LETTER\" else 'other letter' end"

(注:原代码里的\"是HTML转义的双引号,对应Python字符串中的\")

你的代码生成的string部分存在转义错误:'(\\\''+'\\\',\\\''.join(a_list)+'\\\')'这段代码会生成(\'a\',\'b\'),也就是单引号前多了不必要的反斜杠,这直接导致string2和string0内容不一致,所以==判断返回False。

修正方案

方案1:使用f-string(推荐,代码简洁易读)

a_list = ['a','b']
in_part = "','".join(a_list)
string2 = f'case when "LETTER" in (\'{in_part}\') then "LETTER" else \'other letter\' end'

方案2:修正原代码的转义逻辑

直接生成不带多余反斜杠的括号部分:

a_list = ['a','b']
string = f"('{ "','".join(a_list) }')"
string2 = 'case when "LETTER" in ' + string + ' then "LETTER" else \'other letter\' end'

验证:此时执行string0 == string2会返回True。

内容的提问来源于stack exchange,提问作者Vlad Sladariu Negulescu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:07:46