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

时间:2017-05-19 18:00:24

标签: python string python-2.7 repr

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

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

不幸的是,有些字符被转义,我不希望使用repr'进行转义。

2 个答案:

答案 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字典键,请不要操作它,按原样使用它。