@qmmp123
Школьник

Как удалить символы из строки?

def browseClicked(self):
        f, _ = QtGui.QFileDialog.getOpenFileName(self)
        if f!="":
            self.fileEdit.setText(f)
            #f = f.replace('/', ' / ', )
            count = 0
            for i in f:
                if i =="/":
                    f = f.replace(f[0 :count], '' )
                    print(f)
                count = count + 1
            #self.qlist.addItem(f)

Надо удалить слэши и то, что находится между ними. Код удаляет, но вот что получается

/home/user/develop/user/project/protatypes/Hatredcopter.mp3
/user/develop/user/project/protatypes/Hatredcopter.mp3
lop/user/project/protatypes/Hatredcopter.mp3
otatypes/Hatredcopter.mp3
  • Вопрос задан
  • 2366 просмотров
Решения вопроса 1
@throughtheether
human after all
Надо удалить слэши и то, что находится между ними.
Уточните, что именно вы хотите получить из строки
/home/user/develop/user/project/protatypes/Hatredcopter.mp3

Если нужный конечный результат - Hatredcopter.mp3, то не проще сделать так:
>>> filename='/home/user/develop/user/project/protatypes/Hatredcopter.mp3'
>>> if '/' in filename:
	filename=filename[filename.rindex('/')+1:]
>>> filename
'Hatredcopter.mp3'

И вообще говоря, более корректно, на мой взгляд, обрабатывать пути и имена файлов при помощи функций модуля os:
>>> import os
>>> filename='/home/user/develop/user/project/protatypes/Hatredcopter.mp3'
>>> os.path.split(filename)
('/home/user/develop/user/project/protatypes', 'Hatredcopter.mp3')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы