Как удалить подстроку из строки python
Перейти к содержимому

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

  • автор:

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

Для того, чтобы вырезать (вычесть) часть из строки, в Python существует метод .replace() . Он принимает 2 значения:

  • строку, которую нужно заменить
  • строку, на которую нужно заменить

Вторым аргументом нужно указать пустую сроку » :

name = 'hexlet' name.replace('let', '') # hex 

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

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

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

Отслеживать
25.7k 4 4 золотых знака 21 21 серебряный знак 36 36 бронзовых знаков
задан 28 окт 2021 в 8:20
97 1 1 золотой знак 4 4 серебряных знака 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'] 

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

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

Когда в дело вмешавается круглая скобка, то происходит что-то странное, вернее, мне понятно, что скобку надо экранировать, но непонятно почему так происходит и надо сделать так, чтобы работало без замены содержимого строки. Наверняка есть правильные приемы сделать этот код рабочим.

Вместо цифр могуб быть любые символы/слова любой длины.

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

8 комментариев

Простой 8 комментариев

Удаление подстроки в строке

Author24 — интернет-сервис помощи студентам

,
хочу убрать из строк подстроку (Приложение 1) и (Приложение 2).

Написал код, но он удаляет только (Приложение 1). Пока не могу додумать почему не удаляет (Приложение 2).
И может кто-нибудь подскажет как это более красиво написать. Спасибо.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
def find_skobki(): f = ["dakjjkjd","aaadd (Приложение 1)", "aasdasd","dsasdasd (Приложение 2)"] g = 0 pril1 = "(Приложение 1)" pril2 = "(Приложение 2)" for i in f: try: if i.find(pril1) or i.find(pril2): s = i.replace(pril1, "") f[g] = s if i.find(pril2): s = i.replace(pril2, "") f[g] = s except ValueError: print("") g+=1 return f print(find_skobki())

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Замена подстроки в строке
Не понимаю почему не работает, помогите пожалуйста. import random import math import string .

Замена подстроки в строке
Всем привет! Имеется строка вида: ‘<Значение>575.5000</Значение>’ Необходимо привести данную.

Поиск подстроки в строке
Всем привет, нужна помощь с поиском подстроки в строке по шаблону. К примеру есть строка "s =.

Удаление подстроки в строке
Всем привет, нужна помощь с функцией удаления слова из строки. Есть текстовый файл с произвольными.

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

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