@domanskiy

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

Есть строка. Например text = "Pantone 485 C"
Есть массив arr = ['Pantone ', ' C']
пробую a = text.replace(arr, "")
не работает
В чём может быть проблема? Есть ли решение?
  • Вопрос задан
  • 9665 просмотров
Решения вопроса 1
sswwssww
@sswwssww
text = "Pantone 485 C"
arr = ['Pantone ', ' C']
for x in arr:
    text = text.replace(x, "")
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
adugin
@adugin Куратор тега Python
Решение "в лоб", без учёта нюансов:
re.sub('|'.join(arr), '', text)
Ответ написан
@szelga
метод replace принимает первым параметром строку, а не список. если там что-то другое, то метод не понимает, чего вы от него хотите, и выдаёт ошибку. я тоже не понимаю, чего вы от него хотите. если хотите вхождения всех строк из списка заменить на "", то пробегитесь по списку, применяя replace для каждого элемента.
и внимательнее читайте документацию в следующий раз.
и посмотрите в сторону регулярных выражений, возможно, они для исходной задачи подойдут лучше, чем мучить replace.
Ответ написан
Ваш ответ на вопрос

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

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