Как удалить символ из строки python?
Второй час сижу, помогите, replace отрабатывает а строка та же остаётся, потому чт она неизменяемая наверн. Файл на 1400 строк, там в конце каждой перевод каретки лишний и он. Через strip по разному пробовал.
Ваш вопрос
Второй час сижу, помогите, replace отрабатывает а строка та же остаётся, потому чт она неизменяемая наверн. Файл на 1400 строк, там в конце каждой перевод каретки лишний и он. Через strip по разному пробовал.
Строку в python нельзя менять на месте, поэтому удаление символа всегда создаёт новую строку, а старая остаётся нетронутой, пока вы её не перезапишете.
Причина в том, что строки относятся к неизменяемым типам данных наравне с числами и кортежами. Метод replace не портит исходную строку, а возвращает новую, и если результат никуда не присвоить, изменения просто теряются.
Самый простой способ убрать конкретный символ: text = text.replace('a', '')
Если нужно убрать символ по позиции, а не по значению, используют срез: text = text[:i] + text[i+1:]
Проверьте, что вы записываете результат обратно в переменную, это частая причина, почему кажется что ничего не сработало.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
v4-flash
v4-flash
Как удалить символ из строки python?
Причина: строки неизменяемы. Решение: text = text.replace('старый', '') или срез text[:i]+text[i+1:]. Частая ошибка: забыть присвоить результат обратно.