需要字符串才能在打印输出中显示\n
而不会尾随+前导'
。目前在输入上使用repr
(打开+读取.txt),因此我想知道删除'
以获得正确索引/搜索的最佳方法是什么?
repr('s')[1:-1]
repr('s').strip("'")
不幸的是,有些字符被转义,我不希望使用repr
等'
进行转义。
答案 0 :(得分:1)
您过早使用repr()
。它意味着用于输出,而不是输入。
将repr(string)
添加到您的print
语句中,然后将其从输入中删除。
答案 1 :(得分:1)
你不会说你为什么要这样做,但我猜你打算把这个字符串存储在一个数据库或.csv
文件中,你就不会这样做。 ;我想在你的数据中使用非打印字符,比如换行符,因为它们会使SQL解释器之类的其他工具行为不端。
如果这是一个正确的猜测,请不要使用repr()
,因为它会转义我想象你不想转义的字符,比如引号和反斜杠。相反,请确定您要引用的非打印字符(我认为唯一可能的字符是\n
和\t
)并自行替换它们。
fixed_s = s.replace("\n",r"\n").replace("\t",r"\t")
但是如果您只是将字符串用作普通的Python字典键,请不要操作它,按原样使用它。