Задать вопрос
@adron90

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

Как удалить запрещенные символы из строки чтобы потом можно было присвоить эту строку к имени файла.

UPD: Пардон, интересует Python3
  • Вопрос задан
  • 16724 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
adugin
@adugin Куратор тега Python
>>> s = 'abc<def*gh?ikl'
>>> s.translate(None, '\/:*?"<>|')
'abcdefghikl'
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Рассматривайте строку как список символов. Используйте filter(), чтобы отсеять лишние символы. Вот небольшой пример, как из строки убрать все символы 'b':
''.join(list(filter(lambda c: c!='b', 'abasfdbbbadfbg')))

Вместо передаваемой анонимной функции можно определить свою. Как она будет работать — решать вам. Можно сделать на основе регулярных выражений, а можно определить список запрещенных символов и возвращать что-нибудь вроде not c in lst.

Другой вариант (вероятно, более приемлемый) — использовать регулярные выражения и метод замены sub().
Ответ написан
@zedxxx
def remove(value, deletechars):
    for c in deletechars:
        value = value.replace(c,'')
    return value;

print remove(filename, '\/:*?"<>|')

Отсюда: stackoverflow.com/questions/1033424/how-to-remove-...
Ещё полезные мысли можно почерпнуть тут: stackoverflow.com/questions/295135/turn-a-string-i...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы