Один из самых полезных строковых методов — 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("правда", "ложь")