gpt4 book ai didi

python - 为什么我不能使用 `strip('\"' )` 删除引号?

转载 作者:太空狗 更新时间:2023-10-30 02:03:31 25 4
gpt4 key购买 nike

我只能使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com