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

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

Итак, есть такой текст:

text = "Welcome to Python Guides...you can learn Python from basic to advance"

remove = "...you can learn Python from basic to advance"

Теперь мне нужно удалить некоторые фразы из текста и получить это как результат:

Welcome to Python Guides

В этом сценарии вы можете использовать все подходы, которые мы объясним.

Содержание

Используя метод replace()

Сначала мы будем использовать метод replace() для удаления подстроки из строки в Python. Здесь мы заменим данный шаблон подстроки пустой строкой. Этот метод не влияет на исходную строку.

Синтаксис:

var_name.replace(old_string_pattern, new_string)
  • В приведенном выше синтаксисе «var_name» должно быть только строковым типом данных.
text = "British colonization led to the first settlement of the Thirteen Colonies"
updated_string = text.replace("of the Thirteen Colonies", "")
print(updated_string)

Используя метод replace()

В приведенном выше коде у нас есть переменная с именем state, содержащая строку. Нам нужно удалить слово «Состояние» из строки, поэтому мы заменили «Состояние» на «Пустую строку» следующим образом: «state.replace (» Состояние», « «)», используя метод удаления подстроки в Python и сохраните его в переменной update_string.

С помощью функций Split() и join()

Мы будем использовать методы join() и Split() для удаления подстроки из строки Python. Метод join() используется для объединения строк в Python.

Метод Split() разделяет все слова на основе заданного значения разделителя и создает список всех слов в строке.

Синтаксис:

string.join(["str1" , "str2", ... ])
  • В синтаксисе вы также можете указать прямую строку, например, join(“Str”), но метод join() также может объединять список строк.

Синтаксис:

string.split("seperator")
  • string.split («separator»): метод Split() будет использоваться только для строкового типа данных. Если вы не зададите значение разделителю, в качестве значения по умолчанию будет использоваться пробел.
text = "The United States has had the largest nominal GDP in the world"

updated_text = " ".join(text.split('has had the largest nominal GDP in the world'))
print(updated_text)

с помощью функций Split() и join().

В приведенном выше коде у нас есть строка, и нам нужно удалить некоторую часть строки, поэтому мы используем метод Split(), чтобы отделить необходимую часть строки, чтобы она выглядела так:
«[‘Соединенные Штаты’, »]», а затем он будет объединен с updated_text с помощью метода join().

С помощью List Comprehensions

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

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

Давайте посмотрим, как Python удаляет подстроку из строки, если она существует, используя понимание списка.

states = "Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut"

remove_state = "Alaska"
states = ", ".join([state for state in states.split(", ") if state != remove_state])
print(states)

с помощью List Comprehensions

В приведенном выше коде мы используем цикл for после разделения строковых значений, а затем ставим условие «if state != remove_state», чтобы включить элементы, которые не соответствуют значению remove_state.

С помощью регулярных выражений

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

Метод re.sub() также будет работать аналогично методу replace(), использованному в первом примере.

Синтаксис:

re.sub(pattern, replce pattern, input_string)
  • Прежде чем использовать метод re.sub(), вам необходимо импортировать модуль re.
  • re.sub (шаблон, шаблон замены, input_string): в шаблоне вы можете указать целевой объект, который хотите заменить, а в replace_pattern вы можете указать другую строку, которую хотите включить.
  • Input_string будет основной строкой, в которой вы хотите внести изменения.
import re

string = "The capital of California is Sacramento, and the capital of New York is Albany."
string = re.sub(', and the capital of New York is Albany', '', string)
print(string)

используя регулярные выражения

В приведенном выше коде мы используем метод re.sub() для удаления подстроки строки, если она существует. Поэтому мы указали пустую строку в параметре строки замены «re.sub(‘, а столица Нью-Йорка — Олбани’, », string)», поэтому шаблон, указанный вами в первом параметре, будет удален.

С помощью нарезки строк

Теперь мы будем использовать нарезку строк в Python. Это процесс извлечения элементов путем указания диапазона позиции индекса. Кроме того, мы будем использовать метод find() в Python, чтобы получить значение индекса данной строки.

Синтаксис:

string[start_index : end_index]
  • string [start_index: end_index]: если вы ничего не указали в позициях индекса, по умолчанию будет выбрана вся строка.
  • Позиции индекса всегда должны быть целочисленными значениями; в противном случае выдаст ошибку.
str = "Washington D.C., the capital of the USA"

index = str.find(", the capital of the USA")
str = str[:index]
print(str)

с помощью нарезки строк

В приведенном выше коде мы инициализировали переменную с именем index и присвоили индексную позицию элемента с помощью метода find(), который нам нужно удалить из строки.

Получив позицию индекса удаляемого значения, извлеките необходимый текст и обновите исходную строку, используя str = str[:index].

С помощью методов lstrip() и rstrip()

Мы также можем использовать методы lstrip() и rstrip() для удаления подстроки, но при условии, что удаляемая строка должна находиться в начальном или последнем индексе. Только тогда он сможет удалить строку, в противном случае он выдаст точную строку без ее обновления.

С помощью метода lstrip()

Метод lstrip() удаляет элементы слева от строки в позиции начального индекса.

Синтаксис:

string.lstrip('value_to_be_remove')
  • string.lstrip(‘value_to_be_remove’): Если вы не укажете никакого значения в параметре, то он удалит пробел в начальном индексе, если он там есть.
state = "state name is Washington, also known as evergreen state"
new_state = state.lstrip('state')
print(new_state)

с помощью метода lstrip().

В приведенном выше коде есть строка, включающая слово состояния в начале и конце. Итак, если вам нужно удалить первое слово только слева, вы можете использовать метод lstrip(), например: «state.lstrip(‘state’)».

Используя метод rstrip()

Метод rstrip() удаляет элементы справа от строки в позиции конечного индекса.

state = "The state name is Washington, also known as evergreen state"
new_state = state.rstrip('state')
print(new_state)

используя метод rstrip()

В приведенном выше примере мы взяли тот же пример, что и предыдущий, но здесь мы удаляем шаблон «new_state = state.rstrip(‘state’)», который находится в последней позиции индекса.

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