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

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

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

UPD: Пардон, интересует Python3
  • Вопрос задан
  • 16753 просмотра
Подписаться 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...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 00:16
43000 руб./за проект
30 янв. 2025, в 21:33
5000 руб./за проект
30 янв. 2025, в 21:14
4000 руб./за проект