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

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

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

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

    В данном разделе инструкции будет рассказано об основных методах, которые существуют в Python и используются в том числе для удаления символов из последовательности. Среди них будут рассмотрены методы replace(), translate() и re.sub(). Ниже опишем их синтаксис, а также приведем примеры их использования в конкретных ситуациях.

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

    исходная_строка.replace(old, new[, count])
    • исходная_строка – последовательность, в которой будут происходить корректировки;
    • old – здесь указываем то, что будет заменено;
    • new – а здесь указываем то, на что будет производиться замена;
    • count – это необязательный параметр, который указывает на количество необходимых замен.

    Ниже приведем пример, в котором удалим все вхождения символа в строку в Python, а именно пробела в последовательности «T i m e w e b»:

    example_str = "T i m e w e b" result_str = example_str.replace(" ", "") print(result_str)

    В результате работы кода получим новый объект строки, который продемонстрирован на картинке ниже.

    Чтобы удалить символ переноса строки в Python, возможно также использовать рассматриваемый метод replace(). Для этого в качестве первого аргумента необходимо указать специальный знак переноса строки, как это показано в примере ниже:

    example_str = "\nTimeweb\nCloud" print(f'Original string: {example_str}') result_str = example_str.replace("\n", " ") print(f'String after adjustments: {result_str}')

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

    Как мы уже говорили ранее, у метода replace() существует третий необязательный аргумент, который отвечает за количество необходимых замен. Продемонстрируем его работу на примере ниже:

    example_str = "Simple-Server Simple-Server Simple-Server" print(f'Original string: {example_str}') result_str = example_str.replace("Simple-Server", "", 2) print(f'String after adjustments: {result_str}')

    Как видно по картинке выше, метод сработал именно столько раз, сколько указано в параметре. Все остальные вхождения подстроки «Simple-Server» были проигнорированы.

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

    Предназначение translate() точно такое же, как и у прошлого метода. Однако у него есть свои функциональные особенности. В первую очередь, он в качестве аргумента принимает словарь или таблицу сопоставлений. После выполнения замены или удаления он возвращает новый объект типа String.

    Синтаксис метода выглядит следующим образом:

    исходная_строка.translate(таблица)

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

    example_str = "Simple-Server$Cloud$—$IT-решения$в$облаке." print(f'Original string: {example_str}') result_str = example_str.translate({ord('#x27;): ' '}) print(f'String after adjustments: {result_str}')

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

    Также, возможно указать таблицу сопоставлений до вызова метода для более читаемого кода, например, если в программе большое количество заменяемых символов. Ниже в примере удалим все вхождения специальных знаков «$», «\n» и «%» в строку:

    example_str = "\nTimeweb%Cloud$—$IT-решения$в$облаке.\n" print(f'Original string: {example_str}') example_table = {ord('\n') : None, ord('#x27;) : ' ', ord('%') : ' '} result_str = example_str.translate(example_table) print(f'String after adjustments: {result_str}')

    Результат работы программы продемонстрирован на картинке ниже.

    Кроме представленных выше методов, возможно использовать регулярные выражения для удаления и замены символов в строке. Для начала, в своем коде мы должны инициализировать соответствующий модуль re, а затем использовать его метод sub(). Он, как и предыдущие методы, ищет необходимые символы в последовательности по указанному шаблону и заменяет их. Данный процесс выполняется строго слева направо.

    Синтаксис re.sub() представлен ниже:

    re.sub(шаблон, замена, исходная_строка [, count=0, flags=0])

    Данный метод содержит 5 параметров, 2 из которых являются необязательными:

    • шаблон – это и есть регулярное выражение, по которому будет выполняться поиск в последовательности;
    • замена – это символы или их последовательность, на которые будет выполняться замена;
    • исходная_строка – последовательность, в которой будет выполняться весь процесс;
    • count и flags – два необязательных параметра, которые отвечают за количество замен в указанной последовательности символов и использование флагов соответственно.

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

    import re example_str = "T i m e w e b" print(f'Original string: {example_str}') result_str = re.sub('\s', '', example_str) print(f'String after adjustments: {result_str}')

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

    Использование срезов для удаления символов

    Помимо использования разнообразных методов для удаления символов, в Python также возможно использовать срезы. Как мы знаем, срезы — это извлеченная последовательность символов из строки.

    Чтобы удалить символы из строки по индексу в Python, воспользуемся следующим срезом:

    example_str = "\nTimeweb \nCloud" print(f'Original string: {example_str}') result_str = example_str[1:9] + example_str[10:] print(f'String after adjustments: {result_str}')

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

    Помимо двух параметров среза возможно использовать и третий. Он указывает на шаг прироста индексов. Так, например, если шаг будет равен 2, то каждый нечетный элемент строки будет удален. Не забывайте учитывать, что индексы начинаются с 0.

    example_str = "Simple-Server" print(f'Original string: {example_str}') result_str = example_str[::2] print(f'String after adjustments: {result_str}')

    Результат работы программы продемонстрирован на картинке ниже.


    Нужен сервер для практики? Арендуйте 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

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