repr() 没有前导和尾随引号?

repr() without leading and trailing quote?

需要字符串在打印输出中显示 \n 而不带尾随 + 前导 '。目前在输入(打开 + 阅读 .txt)上使用 repr,所以我想知道什么是删除 ' 的最佳方法以获得正确的 indexing/search?

repr('s')[1:-1]
repr('s').strip("'")

不幸的是,一些字符正在被转义,我不想使用 repr 转义,例如 '.

您正在过早地使用 repr()。它应该用于输出,而不是输入。

repr(string) 添加到您的 print 语句并将其从输入中删除。

你没有说为什么要这样做,但我猜你打算将字符串存储在数据库或 .csv 文件或其他东西中,并且你不希望非- 在数据中打印换行符等字符,因为它们会使 SQL 解释器等其他工具行为不端。

如果这是正确的猜测,请不要使用 repr(),因为它会转义我认为您不想转义的字符,例如引号和反斜杠。相反,决定要引用哪些非打印字符(我认为唯一可能的是 \n\t)并自己替换它们。

fixed_s = s.replace("\n",r"\n").replace("\t",r"\t")

但是如果您只是将该字符串用作普通 Python 字典键,请不要对其进行操作,按原样使用它。