Как удалить часть строки в питоне
Чтобы удалить часть строки, можно с помощью срезов собрать новую строку.
Есть что добавить? Зарегистрируетесь
Курсы по программированию на Хекслете
Backend-разработка
Разработка серверной части сайтов и веб-приложений
Frontend-разработка
Разработка внешнего интерфейса сайтов и веб-приложений и верстка
Создание сайтов
Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails
Тестирование
Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP
Аналитика данных
Сбор, анализ и интерпретация данных на Python
Интенсивные курсы
Интенсивное обучение для продолжающих
DevOps
Автоматизация настройки локального окружения и серверов, развертывания и деплоя
Веб-разработка
Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков
Математика для программистов
Обучение разделам математики, которые будут полезны при изучении программирования
JavaScript
Разработка сайтов и веб-приложений и автоматизированное тестирование на JS
Python
Веб-разработка, автоматическое тестирование и аналитика данных на Python
Java
Веб-разработка и автоматическое тестирование на Java
PHP
Веб-разработка и автоматическое тестирование на PHP
Ruby
Разработка сайтов и веб-приложений на Ruby on Rails
Go
Курсы по веб-разработке на языке Go
HTML
Современная верстка с помощью HTML и CSS
SQL
Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД
Git
Система управления версиями Git, регулярные выражения и основы командой строки
Похожие вопросы
01 ноября 2021
01 ноября 2021
- python строки
- python массивы
01 ноября 2021
- python строки
- python массивы
01 ноября 2021
- 8 800 100 22 47 бесплатно по РФ
- +7 495 085 28 38 бесплатно по Москве
Направления
- Курсы «Backend-разработка»
- Курсы «Frontend-разработка»
- Курсы «Создание сайтов»
- Курсы «Тестирование»
- Курсы «Аналитика данных»
- Интенсивные курсы
- Курсы DevOps
- Курсы «Веб-разработка»
- Курсы «Математика для программистов»
- Все курсы
О Хекслете
- О нас
- Карьера в Хекслете
- Хекслет Колледж
- Сведения об образовательной организации
- Лицензия № Л035-01216-73/00668844
ООО «Хекслет Рус» 432071, г. Ульяновск, пр-т Нариманова, дом 1Г, оф. 23 ОГРН 1217300010476
- Справка
- Вопросы и ответы
- Сообщество
- Дополнительно
- Условия использования
- Соглашение об обработке ПД
- Оферта
- Акции
Удаление подстроки с конца строки в Python
В программировании на Python часто возникает ситуация, когда нужно удалить определенную подстроку с конца строки. В качестве примера можно привести ситуацию, когда есть URL-адрес, и требуется удалить из него расширение домена, например, ‘.com’.
url = 'example.com'
Однако, при попытке использовать метод strip() , который предназначен для удаления символов с начала и конца строки, результат может быть неожиданным:
print(url.strip('.com')) # Вывод: 'example'
В этом случае метод strip() удаляет все символы, указанные в аргументе, с обоих концов строки, пока не встретит символ, не указанный в аргументе. Поэтому он удаляет не только ‘.com’, но и любые другие символы ‘c’, ‘o’, ‘m’ и ‘.’, которые встречаются в конце строки, что может привести к неправильному результату.
Для того чтобы корректно удалить подстроку с конца строки, можно использовать метод rsplit() . Этот метод разбивает строку на подстроки, используя указанный разделитель, и возвращает список подстрок. Аргумент ‘1’ указывает, что разбиение должно производиться с конца строки и только один раз.
print(url.rsplit('.com', 1)[0]) # Вывод: 'example'
В данном случае первый элемент списка будет содержать исходную строку без указанной подстроки ‘.com’. Этот способ более надежен, так как он удаляет именно требуемую подстроку, а не отдельные символы.
Таким образом, для удаления подстроки с конца строки в Python рекомендуется использовать метод rsplit() .
Как удалить символы из строки в Python
Пользователи при написании кода на Python часто сталкиваются с необходимостью корректно отредактировать строковые данные. Среди возможных изменений могут быть: удаление некоторых символов из последовательности или их замена на другие, изменение регистра символов, объединение подстрок в одну последовательность и другие. Из этого списка возможных преобразований строковых данных мы остановимся на самом первом.
В настоящей инструкции мы расскажем, как удалять символы из строки в Python и какие методы для этого можно использовать.
Важно сразу отметить, что объекты строк в Python — неизменяемы. Это означает, что все методы и функции, взаимодействующие со строками, будут возвращать новый объект с измененной последовательностью символов.
Методы удаления символов из строки
В данном разделе инструкции будет рассказано об основных методах, которые существуют в Python и используются в том числе для удаления символов из последовательности. Среди них будут рассмотрены методы replace() , translate() и re.sub() . Ниже мы опишем их синтаксис, а также приведем примеры их использования в конкретных ситуациях.
replace()
Первый метод, который будет рассмотрен в данном разделе, — это 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: ')
result_str = example_str.replace("\n", " ")
print(f'String after adjustments: ')
После выполнения программы мы получим результат, который продемонстрирован на картинке ниже.
Как мы уже говорили ранее, у метода replace() существует третий необязательный аргумент, который отвечает за количество необходимых замен. Продемонстрируем его работу на примере ниже:
example_str = "Timeweb Cloud Timeweb Cloud Timeweb Cloud"
print(f'Original string: ')
result_str = example_str.replace("Timeweb Cloud", "", 2)
print(f'String after adjustments: ')
Как видно по картинке выше, метод сработал именно столько раз, сколько указано в параметре. Все остальные вхождения подстроки «Timeweb Cloud» были проигнорированы.
В данной главе мы изучили работу метода replace() и показали лишь малую часть тех ситуаций, в которых следует его использовать. Теперь перейдем к другому методу, который также поможет пользователям удалять и изменять символы в строке, — translate() .
translate()
Предназначение translate() точно такое же, как и у прошлого метода. Однако у него есть свои функциональные особенности. В первую очередь, он в качестве аргумента принимает словарь или таблицу сопоставлений. После выполнения замены или удаления он возвращает новый объект типа String .
Синтаксис метода выглядит следующим образом:
исходная_строка.translate(таблица)
Ниже в примере покажем, как удалить определенные символы из строки в Python , используя метод translate() :
example_str = "Timeweb$Cloud$—$IT-решения$в$облаке."
print(f'Original string: ')
result_str = example_str.translate()
print(f'String after adjustments: ')
По завершении работы программы мы получили результат, представленный на картинке ниже.
Также, возможно указать таблицу сопоставлений до вызова метода для более читаемого кода, например, если в программе большое количество заменяемых символов. Ниже в примере удалим все вхождения специальных знаков «$», «\n» и «%» в строку:
example_str = "\nTimeweb%Cloud$—$IT-решения$в$облаке.\n"
print(f'Original string: ')
example_table =
result_str = example_str.translate(example_table)
print(f'String after adjustments: ')
Результат работы программы продемонстрирован на картинке ниже.
re.sub()
Кроме представленных выше методов, возможно использовать регулярные выражения для удаления и замены символов в строке. Для начала, в своем коде мы должны инициализировать соответствующий модуль 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: ')
result_str = re.sub('\s', '', example_str)
print(f'String after adjustments: ')
В данном примере мы удалили все пробелы из строки. Результат работы кода продемонстрирован на картинке ниже.
Использование срезов для удаления символов
Помимо использования разнообразных методов для удаления символов, в Python также возможно использовать срезы. Как мы знаем, срезы — это извлеченная последовательность символов из строки.
Чтобы удалить символы из строки по индексу в Python , воспользуемся следующим срезом:
example_str = "\nTimeweb \nCloud"
print(f'Original string: ')
result_str = example_str[1:9] + example_str[10:]
print(f'String after adjustments: ')
В данном примере мы использовали срезы, чтобы избавиться от знаков переноса строки. Результат работы кода показан на картинке ниже.
Помимо двух параметров среза возможно использовать и третий. Он указывает на шаг прироста индексов. Так, например, если шаг будет равен 2, то каждый нечетный элемент строки будет удален. Не забывайте учитывать, что индексы начинаются с 0.
example_str = "Timeweb Cloud"
print(f'Original string: ')
result_str = example_str[::2]
print(f'String after adjustments: ')
Результат работы программы продемонстрирован на картинке ниже.
Заключение
В настоящей инструкции мы научились удалять символы из строки в Python , используя разные методы языка, а также регулярные выражения и срезы. Выбор способа, который вы будете использовать для удаления, остается за вами. Он будет напрямую зависеть от условий задачи. Так, например, метод replace() подойдет для более простых ситуаций, а re.sub() для сложных.
Удалить часть строки от определенного символа до определенного символа

Удалить дубликаты определённого символа
Существует строка, например ////aa/bbb//c/// На выходе нужно получить: /aa/bbb/c/ То есть.
Удаление всей строки при нахождении определённого символа или слова
Здравствуйте, нужна помощь в создании программы на питоне. В чём суть, есть список определённых.
Как удалить символы до и после определенного символа?
У меня есть несколько html файлов и мне нужно вытянуть оттуда одну ссылку, как удалить символы.

Удалить часть строки до определенного символа
Подскажите пожалуйста,как с помощью запроса в sql можно удалить часть строки до определенного.
75 / 49 / 26
Регистрация: 22.02.2015
Сообщений: 306
1 2 3 4 5
>>> s = '127.0.0.1(spec) (domen\admin - user)' >>> l = s.find('(') >>> r = s.find('-') >>> print( s[:l] + s[r+1:-1] ) 127.0.0.1 user
![]()
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
1 2 3 4
import re ipUser='127.0.0.1(spec) (domen\admin - user)' print(re.sub('([0-9.]+)(. *?)\\-\\s*([A-Za-z0-9]+).*','\\1 \\2',ipUser))
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
1 2 3
>>> s = '127.0.0.1(spec) (domen\admin - user)' >>> print(s[:s.find('(')]+s[s.rfind('-')+1:-1]) 127.0.0.1 user
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа
Добрый вечер. Ответ искал, но не нашёл. Предположим, есть строка: ABC|DEF Надо скопировать.
Как скопировать часть строки до определенного символа?
Допустим, пользователь вводит с клавиатуры строку. Необходимо скопировать часть строки до какого-то.

Как удалить текст с конца строки до определенного символа?
Здравствуйте, как удалить текст с конца строки до определенного символа?Заранее спасибо
Удалить текст до/после определённого символа каждой строки
Приветствую, помогите пожалуйста сделать BAT скрипт, который удаляет весь текст до определённого.

Как удалить от начала строки до определенного символа/слова
Здравствуйте, есть у меня строка "prxfire1.Text": 2 x <a.
как удалить все строки начинающиеся с определенного символа word
Добрый день! помогите удалить ненужные строчки с документа word которые начинаются с символов -: .
