Перейти к содержимому

Как вырезать из строки подстроку python

  • автор:

Как из строки удалить подстроку?

Как удалить из этой строки подстроку, где содержится определенное имя? Например, name = ‘Mila’ ? и чтобы ptint вывел:

Hello, my name Bil Hello, my name Tim Hello, my name Den Hello, my name Loki 

Отслеживать
25k 4 4 золотых знака 20 20 серебряных знаков 36 36 бронзовых знаков
задан 28 окт 2021 в 8:20
97 1 1 золотой знак 3 3 серебряных знака 11 11 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Смотря что нужно в результате, если просто print

str = 'Hello, my name Bil' \ '\nHello, my name Tim' \ '\nHello, my name Mila' \ '\nHello, my name Den' \ '\nHello, my name Loki' name = "Bil" for i in str.split("\n"): if not name in i: print(i) 
Hello, my name Tim Hello, my name Mila Hello, my name Den Hello, my name Loki 

Вообще split() метод создаст вот такой лист

['Hello, my name Bil', 'Hello, my name Tim', 'Hello, my name Mila', 'Hello, my name Den', 'Hello, my name Loki'] 

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

UPD для входного значения со списком. Решение не оптимальное, но будет легко понимаемое для ТС.

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

l = str.split("\n") names = ['Bil', 'Tim'] indexes =[] 

Теперь пробежимся для каждого элемента списка и найдем встречаются ли имена в из списка names , если да, то сохраним индексы для списка l

for i in l: for n in names: if n in i: indexes.append(l.index(i)) 

Теперь посмотри, что у нас хранит переменная indexes

>>> indexes [0, 1] 

то есть нулевой и первый элементы не должны выводится. Можно скопировать в итоговый лист

res = [] for i in range(0, len(l)): if i not in indexes: res.append(l[i]) 

посмотрим, что содержит res

>>> res ['Hello, my name Mila', 'Hello, my name Den', 'Hello, my name Loki'] 

Манипуляции с индексами можно опустить и сразу обрабатывать/копировать. Здесь это больше для ясности

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

Чтобы удалить часть строки, можно с помощью срезов собрать новую строку.

Есть что добавить? Зарегистрируетесь

Курсы по программированию на Хекслете

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 3. Индексирование и срезы.

Строки в Python. Индексирование и срезы.

В этой статье вы узнаете про то, как соединить строки в Python, а так же, как извлекать подстроки и последовательности из одной строки.

Введение

Строки в Python — это последовательности символов, заключенные в одинарные, двойные или тройные кавычки.

Строки в Python неизменяемы.

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

Соединение строк также называется индексированием.

Что такое соединение строк?

Соединение строк или индексация — это метод, с помощью которого мы можем получить доступ к любому символу или группе символов из строки. В Python символы или подстроки какой-либо строки могут быть доступны с помощью квадратных скобок [ ] точно так же, как мы получаем доступ к элементам из списка в Python. Мы можем получить доступ к символу из строки, используя как положительные, так и отрицательные индексы.

При использовании положительных индексов для соединения строк в Python первому символу строки присваивается индекс ноль, а индекс последующих символов увеличивается на 1 до конца.

Например, мы можем напечатать первый символ, третий символ и одиннадцатый символ строки, используя следующую программу. Обратите внимание, что индексация в Python основана на 0, то есть первому символу присваивается индекс 0, а не 1:

x = "Скоро наступит лето" y = x[0] print(y) y = x[2] print(y) y = x[10] print(y)
С о у

При использовании отрицательных индексов для индексирования строк в Python последнему символу строки Python присваивается индекс -1, а при движении назад каждому символу присваивается индекс на 1 меньше, чем его предыдущему символу.

В следующем примере я использую отрицательную индексацию для печати символов строки Python:

x = "Скоро наступит лето" y = x[-1] print(y) y = x[-3] print(y) y = x[-6] print(y)
о е т

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

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

Используя положительную индексацию, мы можем захватить подстроку с помощью оператора квадратных скобок [ ]. Мы можем указать индекс начального символа и индекс конечного символа строки, которая должна быть включена в подстроку. Чтобы извлечь подстроку используем string_name[start_index:last_index]. Символ в start_index включен в подстроку, но символ в last_index не включен. Включены только символы до last_index-1. Следовательно, start_index является инклюзивным, а last_index — эксклюзивным.

В приведенных ниже примерах вы увидите, что символы в start_index были включены в выходные данные, а символы в last_index не были включены в выходные данные:

x = "Скоро наступит лето" y = x[0:2] print(y) y = x[4:7] print(y) y = x[0:7] print(y)
Ск о н Скоро н

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

x = "Скоро наступит лето" y = x[:6] print(y) y = x[:8] print(y) y = x[:11] print(y)
Скоро Скоро на Скоро насту

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

x = "Скоро наступит лето" y = x[0:] print(y) y = x[3:] print(y) y = x[12:] print(y)
Скоро наступит лето ро наступит лето ит лето

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

x = "Скоро наступит лето" y = x[-10:-1] print(y) y = x[:-1] print(y) y = x[-5:-2] print(y)
тупит лет Скоро наступит лет ле

Подстроки в Python также являются строками, и мы можем выполнять такие операции, как конкатенация строк, разделение строк Python и так далее.

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

x = "Скоро наступит лето" y1 = x[-10:-1] y2 = x[:-1] y3 = x[-5:-2] print(y1 + y2 + y3)
тупит летСкоро наступит лет ле

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

Подпоследовательность строки — это последовательность символов, которые извлекаются из строки, не нарушая порядок, в котором символы присутствуют в строке.

Символы в подпоследовательности могут быть или не быть непрерывными символами входной строки Python.

Чтобы извлечь подпоследовательность, я использую оператор квадратной скобки [ ]. Синтаксис для захвата подпоследовательности из строки — string_name[start_index, end_index, difference]».

Difference обозначает число, которое должно быть добавлено к start_index, чтобы получить индекс следующего символа, который будет включен в подпоследовательность, а difference-1 — это символы, которые пропускаются после того, как символ включен в подпоследовательность.

x = "Скоро наступит лето" y = x[0:10:2] print(y) y = x[0:10:3] print(y) y = x[0:10:5] print(y)
Соонс Срнт С

Заключение

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

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

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