首页 > 解决方案 > 从python中的字符串中删除撇号

问题描述

美好的一天,我需要从用于创建文件的字符串中删除撇号。它会导致错误,因为文件名不能包含撇号。我通读了有关堆栈溢出的其他问题,有些人说要使用: string.replace("'", "") 我试过了,但它没有删除撇号。这是我正在运行的代码:

download_url = f'{result["link"]}'
song_name = f'{result["title"]}'
status = f'{result["status"]}'
correct_song_name = song_name.replace("'", "")
save_location = download_location()
urllib.request.urlretrieve(download_url, save_location + 
correct_song_name + '.mp3')

下面是一个例子,当它被输入带有撇号的标题时会发生什么: OSError: [Errno 22] Invalid argument: 'C:/Users/Jonathan/Desktop/Test2/What is "this".mp3'

我做错了什么或者从字符串中删除字符的其他方法是什么?

标签: pythonstringtext

解决方案


您当前的代码只删除单引号而不是双引号。以下将删除正确的字符:

correct_song_name = song_name.replace('"', "")

如果你有单引号和双引号,你可以使用:

correct_song_name = song_name.replace('"', "").replace("'", "")

推荐阅读