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

如何在Python f-string中直接替换变量内的单引号?

解决Python f-string中直接替换变量单引号的语法错误问题

你的错误根源是字符串引号冲突:外层用双引号包裹f-string,内部replace方法的参数又用双引号,Python会误将第一个内层双引号识别为f-string的结束标记,从而抛出「EOL while scanning string literal」错误。

以下是两种最简洁的解决方法,无需额外变量或正则:

方法1:转义内层双引号

在replace的双引号前加反斜杠\,明确告诉Python这是字符串内部的引号,不是结束标记:

var1 = "foo"
var2 = "bar '"

print(f"{var1}-{var2.replace(\"'\", \"\")}")

方法2:改用单引号包裹整个f-string

这样内层replace的双引号就不会和外层冲突,代码可读性更高:

var1 = "foo"
var2 = "bar '"

print(f'{var1}-{var2.replace("'", "")}')

两种方法执行后都会输出:foo-bar

内容的提问来源于stack exchange,提问作者JVGBI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:45:41