Один из самых полезных строковых методов — find(). Как следует из названия, мы можем использовать этот метод, чтобы найти расположение одной строки в другой строке. Мы используем точечную нотацию, потому что этот метод принадлежит String, а ввод, который мы указываем в круглых скобках, — это строка, которую мы ищем.

фраза = «сюрприз где-то здесь»

print(phrase.find("сюрприз")

выход=4

В этом случае «сюрприз» начинается с 4-го символа фразы (помните, что он начинается с 0), поэтому мы отобразили 4.

Если find() не найдет искомую строку, вместо этого она вернет -1.

фраза = «сюрприз где-то здесь»

print(phrase.find("ejafjallajokull"))

результат = -1

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

print("сюрприз где-то здесь" find("сюрприз")

результат=4

Имейте в виду, что это сопоставление выполняется точно посимвольно. Если бы нам пришлось попытаться найти «СЮРПРИЗ», у нас было бы -1.

Часть строки, которую мы ищем, называется подстрокой.

В строке подстрока появляется более одного раза в нашем объекте. find() просто вернет первое появление, начиная с начала строки.

пример:

print("поместите строку в свою строку" find("строка"))

результат=8

Имейте в виду, что мы не можем смешивать типы объектов; find() будет принимать только строку в качестве входных данных. Если мы ищем целое число внутри строки, нам все равно придется поместить это целое значение в строку —

print("мой номер 555 555 555" find())

результат=13

Другой строковый метод — replace(), который заменяет все вхождения подстроки другой строкой.

пример:

давайте заменим каждый экземпляр «правды» строкой «ложь» в следующем

my_story = «Я говорю вам правду; он говорил только правду!

print(my_story.replace("правда", "ложь"))

result=Я лгу вам; он говорил только ложь!

Нам все равно придется переназначить его на новое значение, как в:

my_story=my_story.replace("правда", "ложь")