我只能使用 str.strip('\"')
删除左引号:
with open(filename, 'r') as fp :
for line in fp.readlines() :
print(line)
line = line.strip('\"')
print(line)
部分结果:
"Route d'Espagne"
Route d'Espagne"
使用 line.replace('\"', '')
得到正确的结果:
"Route d'Espagne"
Route d'Espagne
谁能解释一下?
最佳答案
您的行没有结束 引号。换行符是行的一部分,并且在从文件读取时不会被删除,因此除非您在要删除的字符集中包含 \n
"
是会留下来。
诊断字符串问题时,使用 print(repr(line))
甚至 print(ascii(line))
生成调试输出,使不可打印或非 ASCII 代码点可见:
>>> line = '"Route d\'Espagne"\n'
>>> print(line)
"Route d'Espagne"
>>> print(repr(line))
'"Route d\'Espagne"\n'
将 \n
添加到 str.strip()
参数:
line = line.strip('"\n')
演示:
>>> line.strip('"')
'Route d\'Espagne"\n'
>>> line.strip('"\n')
"Route d'Espagne"
>>> print(line.strip('"\n'))
Route d'Espagne
关于python - 为什么我不能使用 `strip('\"' )` 删除引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31118332/