Как удалить элемент строки в python
Перейти к содержимому

Как удалить элемент строки в python

  • автор:

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

1. Будет ошибка во второй строчке. 2. Не следует использовать list в качестве имени переменной или функции.

10 сен 2018 в 14:29
1. Ошибки не наблюдаю. 2. Такое имя использую просто для наглядности только в этом примере
10 сен 2018 в 14:33
Ошибка будет уже в первой строчке – ValueError empty separtor
10 сен 2018 в 14:34

Я сомневаюсь, что вы запускали этот код. Ошибка ValueError: empty separator . И в 2.х и в 3.х. Да и последняя строчка выведет совсем не результат предпоследней. 2. Не надо использовать такие имена даже просто для наглядности.

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

Есть список символов, которые нужно исключить из строки. Подскажите, как реализовать это максимально красиво и с минимум затрат по ресурсам?

  • Вопрос задан более трёх лет назад
  • 64214 просмотров

Комментировать
Решения вопроса 2

skipirich

проходил мимо

Я бы сделал регулярным выражением. Например строка mystr выглядит вот так asdw#df%mm!@* и надо удалить символы #%!@*, тогда
mystr = re.sub(r»[#%!@*]», «», mystr)

Ответ написан более трёх лет назад
Комментировать
Нравится 10 Комментировать

adugin

Andrey Dugin @adugin Куратор тега Python
Этот вопрос здесь уже не раз задавался:
Как удалить запрещенные символы из строки?
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 2
☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
Если символов немного, на мой взгляд наиболее читабельный вариант:

text.replace('#','').replace('@','').replace('!','')

Если много, то быстрее всего будет сделать так:

symbols = ['!','@','#','$','%'. ] text = "Some@string" for symbol in symbols: if symbol in text: text.replace(symbol,'')

Ответ написан более трёх лет назад
Нравится 2 2 комментария

gim0

Дополнительная проверка на существование символа в тексте не лишняя? Не получается ли что в этом случае алгоритм с каждой итерацией цикла проходит через все символы в text дважды? Один раз для проверки «symbol in text» и второй раз для самой замены «replace».

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

Статьи

Автор Admin На чтение 3 мин Просмотров 868 Опубликовано 19.10.2023

Введение

В данной статье разберём все способы удалить символ из строки в Python.

Удаление символа из строки используя срезы

В данном способе мы создаем новую строку, объединяя две части исходной строки. Первая часть — это все символы до индекса, а вторая часть — это все символы после индекса:

string = "Пример строки" new_string = string[:1] + string[2:] print(new_string) # Вывод: Пимер строки

Удаление символа из строки используя метод replace()

Метод replace() заменяет все вхождения указанного символа на пустую строку, тем самым удаляя символ из строки:

string = "Пример строки" new_string = string.replace("р", "") print(new_string) # Вывод: Пиме стоки

Удаление символа из строки используя метод join() и генератор списков

В данном способе мы создаем новую строку, объединяя символы, которые не нужно удалять, с помощью метода join(). Генератор списков используется для фильтрации символов:

string = "Пример строки" new_string = "".join([i for i in string if i != "р"]) print(new_string) # Вывод: Пиме стоки

В генераторе мы проходимся по всем символам в строке. Если же в ходе перебора элементов строки был найден символ, который нужно удалить, то генератор его пропускает.

Удаление символа из строки используя метод translate()

Метод translate() используется для перевода символов в строке с помощью таблицы перевода. В данном способе мы создаем таблицу перевода с помощью функции maketrans() и передаем её в метод translate(). В таблице перевода указываем удаляемый символ, который будет удален из строки.

string = "Пример строки" deleting_character = "р" new_string = string.translate(str.maketrans("", "", deleting_character)) print(new_string) # Вывод: Пиме стоки

Заключение

В ходе статьи мы с Вами разобрали все способы удалить символ из строки в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! ��

Удаление символа из строки в Python

Баннер Баннер

Одной из распространенных задач при работе со строками в Python является удаление определенного символа из строки. Это может быть полезно во множестве ситуаций, например, при обработке текстовых данных или при создании пользовательского интерфейса.

Рассмотрим простой пример. Допустим, у нас есть строка «ПРИМЕР», и мы хотим удалить из нее средний символ, то есть «М».

Python предоставляет несколько способов для решения этой задачи. Важно понимать, что строки в Python являются неизменяемыми, что означает, что они не могут быть изменены после создания. Это значит, что нам потребуется создать новую строку без определенного символа.

Особенности строк в Python

В Python строки не заканчиваются на какой-либо специальный символ. Это не так, как в некоторых других языках программирования, где строки могут заканчиваться нулевым символом. В Python строка может содержать любые символы и не имеет фиксированного окончания.

Способы удаления символа из строки

Есть несколько способов удаления символа из строки в Python, и выбор лучшего способа зависит от конкретного случая.

Один из способов — это «сдвиг» всех символов влево, начиная с символа, который нужно удалить. Это можно сделать с помощью срезов строк. Например, если нужно удалить средний символ из строки, можно взять все символы до среднего и объединить их со всеми символами после среднего.

s = "ПРИМЕР" middle = len(s) // 2 new_s = s[:middle] + s[middle+1:]

В этом случае new_s будет строкой «ПРИЕР».

Другой способ — это создание новой строки и копирование в нее всех символов исходной строки, за исключением того, который нужно удалить. Это можно сделать с помощью цикла for и условного оператора.

s = "ПРИМЕР" new_s = "" for i in range(len(s)): if i != len(s) // 2: new_s += s[i]

Также new_s будет строкой «ПРИЕР».

Эти два способа имеют разные плюсы и минусы. Сдвиг символов обычно быстрее, но он может быть менее понятным для новичков. Создание новой строки и копирование символов в нее более прямолинейно, но может быть медленнее, особенно для очень длинных строк.

Важно отметить, что оба этих способа работают только в случаях, когда известен индекс символа, который нужно удалить. Если нужно удалить символ по его значению, можно использовать метод replace() .

s = "ПРИМЕР" new_s = s.replace("М", "", 1)

В этом случае new_s также будет строкой «ПРИЕР». Метод replace() заменяет первое вхождение подстроки на новую подстроку. В данном случае мы заменяем «М» на пустую строку, тем самым удаляя его из исходной строки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *