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

Python中用+运算符拼接字符串时转义字符丢失,求解决方案

问题原因与解决方法

问题原因

你代码里的"\b"并不是字面意义的\b字符,而是Python中的退格控制字符。当字符串被解析时,\b会执行删除前一个字符的操作:

  • 拼接时,"r'\b"里的\b会删掉前面的单引号,变成r;
  • 后面的"\b'"里的\b会删掉var的最后一个字符8,再加上单引号后,最终就得到了r'28'。

解决方法

要输出字面的r'\b{var}\b',可以用以下几种方式:

1. 转义反斜杠

把字符串中的\写成\\,让Python将其解析为字面的反斜杠:

var = '28'
express = "r'\\b" + var + "\\b'"
print(express)

2. 使用原始字符串

原始字符串(前缀r)中的反斜杠不会被解析为转义字符,直接作为字面量处理:

var = '28'
express = r"r'\b" + var + r"\b'"
print(express)

3. 原始f-string(Python 3.6+)

用fr前缀的f-string,既能嵌入变量,又保留原始字符串的特性:

var = '28'
express = fr"r'\b{var}\b'"
print(express)

处理用户输入的情况

如果var是用户输入,直接用上面的方法即可:

var = input("请输入内容:")
express = fr"r'\b{var}\b'"
print(express)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:10:36