Как удалить символ из строки Python: инструкция

    Команда Simple-Server
    03.06.2026
    6 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Удаление символа по индексу

    В этом разделе разберём способы удаления символов из строки по индексам, а именно:

    • как удалить символы с помощью цикла;
    • как удалить символы с помощью среза.

    Как удалить символ из строки с помощью цикла

    Вы можете удалить символ из строки в Python, используя цикл:

    my_string = "Simple-Server 0 cloud" result_string = "" index = 8 for i in range(len(my_string)): if i != index: result_string += my_string[i] print(result_string)

    В этом примере мы хотим удалить из строки символ «0» c индекс 8. Для этого мы используем цикл **for** для прохода по символам строки **my_string**. Затем мы проверяем, совпадает ли **i** с переменной **index** , на котором находится элемент, который мы хотим удалить. Если **i** и **index** не совпадают, то мы добавляем текущий символ к новой строке **result_string**. В конце цикла новая строка **result_string** будет содержать все символы из строки **my_string** , за исключением символа с индексом 8.

    Теперь рассмотрим, как в Python удалить последний символ в строке:

    my_string = "Simple-Server." result_string = "" index = len(my_string) for i in range(index-1): result_string += my_string[i] print(result_string)

    В качестве index можно использовать массив и удалять таким образом не один, а несколько символов:

    my_string = "1Timeweb 0cloud" result_string = "" index = [0,9] for i in range(len(my_string)): if i not in index: result_string += my_string[i] print(result_string)

    Работа этого отрывка кода аналогична предыдущему, за исключением того, что в этот раз мы проверяем, содержит ли **index **число **i**. К слову, точно таким же образом мы можем удалять конкретные символы:

    my_string = "1Timeweb 0cloud" result_string = "" index = ["0","1"] for i in my_string: if i not in index: result_string += i print(result_string)

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

    Чтобы удалить символы из строки в Python по индексу, можно использовать срезы (slices). Срезы позволяют выбрать часть строки по начальному и конечному индексу. Если вы хотите удалить символы из строки, вы можете воспользоваться срезом.

    Например, чтобы удалить символ в строке my_string с индексом n, можно использовать следующую конструкцию:

    my_string = my_string[:n] + my_string[n+1:]

    Эта конструкция создает новую строку, состоящую из части строки **my_string** до индекса **n** , после чего добавляет часть строки **my_string** после индекса **n+1**. Это эквивалентно удалению символа с индексом **n** :

    my_string = "Simple-Server 0cloud" n =8 my_string = my_string[:n] + my_string[n+1:] print(my_string)

    Также с помощью срезов можно удалить несколько подряд идущих символов. Например, чтобы удалить символы с индекса **n** по **m** , используйте такую конструкцию:

    my_string = my_string[:n] + my_string[m+1:]

    В результате вы получите новую строку, состоящую из начальной и конечной частей:

    my_string = "Timeweb1111 0 cloud" n = 7 m = 12 my_string = my_string[:n] + my_string[m+1:] print(my_string)

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

    my_string = "Timeweb1111 cloud" my_string = my_string.replace("1","") print(my_string)

    Чтобы удалить несколько разных символов из строки с помощью replace(), вы можете вызвать этот метод несколько раз, передав в качестве аргументов разные символы. Например:

    my_string = "Timeweb1111 0000cloud" my_string = my_string.replace("1", "").replace("0", "") print(my_string)

    Вы также можете использовать цикл for и функцию replace(), чтобы удалить несколько символов из строки. Например:

    my_string = "Timeweb1111 0000cloud" chars_to_remove = ["1", "0"] for char in chars_to_remove: my_string = my_string.replace(char, "") print(my_string)

    Для удаления символа из строки в Python вы можете использовать метод translate().

    Метод принимает на вход словарь или таблицу перевода и заменяет, в соответствии с входными аргументами, символы в строке. Чтобы удалить символ, вы можете указать пустую строку в качестве значения для этого символа.

    Например, это может быть полезно, чтобы удалить сразу несколько символов:

    def remove_commas(string): trans_table = {ord(',') : None, ord(':') : None, ord('.') : None} return string.translate(trans_table) my_string = "В этой, строке, нет: знаков препинания." print(remove_commas(my_string)) В этой строке нет знаков препинания

    Чтобы удалить символы из строки с помощью регулярных выражений в Python, вы можете использовать метод re.sub(). Этот метод, как и два предыдущих, заменяет символы в строке. На вход он принимает три аргумента: регулярное выражение, строку замены и исходную строку. В качестве результата метод возвращает новую строку, в которой все совпадения регулярного выражения будут заменены. Если нужно удалить символы из строки, то можно использовать пустую строку в качестве строки замены.

    Например, этот код удалит все цифры из строки:

    import re my_string = "Hello, World! 123" my_string = re.sub(r'\d', '', my_string) print(my_string)

    Регулярное выражение **\d** соответствует любой цифре. Поэтому метод re.sub() заменяет каждую цифру в **my_string** пустой строкой.

    Вы можете также использовать регулярные выражения, чтобы удалить другие типы символов. Например, чтобы оставить в строке только цифры и буквы, можно воспользоваться регулярным выражением \W. Оно соответствует любому символу, который не является буквой или цифрой.

    Вот пример, как вы можете использовать это:

    import re  string = "Hello, World! 123"  string = re.sub(r'\W', '', string) print(string)

    Последняя функция Python, с помощью которой мы будем удалять символы из строки — join().

    На вход метод join() принимает итерируемые объекты, которыми являются в том числе и строки, и объединяет их в строку. Обычно этот метод применяется для объединения списка в одну строку, но мы воспользуемся им для удаления символа. Например, удалим из строки все цифры с помощью join():

    my_string = '1czech2, prague3' numbers = "123456789" result_string = ''.join([char for char in my_string if char not in numbers]) print(result_string)

    В этом примере на основе строки my_string создается список из символов, который содержит все символы, кроме цифр. Затем метод join() объединяет элементов списка в одну строку. В результате получается строка czech, prague, в которой все вхождения цифр удалены.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны