Метод рядка Python find () із прикладами

Зміст:

Anonim

Що таке Python String find ()?

Рядок Python find () - це функція, доступна в бібліотеці Python для пошуку індексу першого входження підрядка із заданого рядка. Функція рядок find () поверне -1 замість викиду винятку, якщо вказаний підрядок відсутній у даному рядку.

У цьому посібнику з методу рядок Python find () ви дізнаєтесь:

  • Що таке Python String find ()?
  • Синтаксис рядка Python find ()
  • Приклад методу find () із значеннями за замовчуванням
  • Приклад find () за допомогою аргументу start
  • Приклад find () з використанням аргументів start і end
  • Приклад методу find () Щоб знайти позицію заданого підрядка в рядку
  • Рядок Python rfind ()
  • Індекс рядка Python ()
  • Щоб знайти загальну кількість випадків підрядка

Синтаксис рядка Python find ()

Основний синтаксис функції Python find () такий:

string.find(substring,start,end)

Параметри методу find ()

Ось три параметри функції String find () у Python:
  • підрядок : підрядок, який ви хочете шукати в даному рядку.
  • start : (необов’язково) Початкове значення, з якого розпочнеться пошук підрядка. За замовчуванням це 0.
  • end : (необов’язково) Кінцеве значення, де завершиться пошук підрядка. За замовчуванням значенням є довжина рядка.

Приклад методу find () із значеннями за замовчуванням

Параметри, передані методу find () Python, є підрядком, тобто рядком, який потрібно шукати, починати та закінчувати. Початкове значення за замовчуванням дорівнює 0, а кінцеве значення - довжина рядка.

У цьому прикладі ми будемо використовувати метод find () у Python зі значеннями за замовчуванням.

Метод find () буде шукати підрядок і дасть позицію самого першого входження підрядка. Тепер, якщо підрядок присутній кілька разів у даному рядку, він все одно поверне вам індекс або позицію першого.

Приклад:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))

Вихід:

The position of Tutorials is at: 12

Приклад find () за допомогою аргументу start

Ви можете шукати підрядок у заданому рядку та вказати початкову позицію, звідки пошук розпочнеться. Параметр старту можна використовувати для того ж самого.

У прикладі буде вказано початкову позицію як 15, а find () у методі Python розпочне пошук з позиції 15. Тут кінцевою позицією буде довжина рядка і буде шукати до кінця рядка з 15 позицій далі.

Приклад:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

Вихід:

The position of Tutorials is at 48

Приклад find () з використанням аргументів start і end

Використовуючи параметр start і end, ми спробуємо обмежити пошук, а не шукати весь рядок.

Приклад:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

Вихід:

The position of Tutorials is at 12

Приклад методу find () Щоб знайти позицію заданого підрядка в рядку

Ми знаємо, що find () допомагає нам знайти індекс першого входження підрядка. Він повертає -1, якщо підрядок відсутній у даному рядку. У наведеному нижче прикладі показано індекс, коли присутній рядок, і -1, коли ми не знаходимо підрядок, який ми шукаємо.

Приклад:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Best site is at:", mystring.find("Best site", 5, 40))print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Вихід:

The position of Best site is at: 27The position of Guru99 is at: -1

Рядок Python rfind ()

Функція Python rfind () подібна до функції find () з тією лише різницею, що rfind () дає найвищий індекс для заданої підрядка, а find () - найнижчий, тобто найперший індекс. І rfind () і find () повернуть -1, якщо підрядок відсутній.

У наведеному нижче прикладі ми маємо рядок "Знайомтесь із навчальним посібником Guru99. Найкращий сайт для підручників з Python!" і спробує знайти позицію Підручників підрядків за допомогою find () та rfind (). Поширення підручників у рядку вдвічі.

Ось приклад, де використовуються і find (), і rfind ().

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Вихід:

The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48

Вихідні дані показують, що find () дає індекс самого першого підрядка підручників, який він отримує, а rfind () - останній індекс підручників підрядків.

Індекс рядка Python ()

Індекс рядка Python () - це функція, яка надасть вам позицію підрядка, як і find (). Єдина різниця між ними полягає в тому, що index () видасть виняток, якщо підрядок відсутній у рядку, а find () поверне -1.

Ось робочий приклад, який показує поведінку index () і find ().

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("Tutorials"))print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Вихід:

The position of Tutorials using find() : 12The position of Tutorials using index() : 12

Ми отримуємо однакову позицію як для find (), так і для index (). Побачимо приклад, коли вказаний підрядок відсутній у рядку.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials using find() : ", mystring.find("test"))print("The position of Tutorials using index() : ", mystring.index("test"))

Вихід:

The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, in print("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found

У наведеному вище прикладі ми намагаємося знайти позицію підрядка "тест". Підрядок відсутній у даному рядку, і, отже, за допомогою find () ми отримуємо позицію як -1, але для index () він видає помилку, як показано вище.

Щоб знайти загальну кількість випадків підрядка

Щоб знайти загальну кількість випадків виникнення підрядка в даному рядку, ми використаємо функцію find () у Python. Буде прокручувати рядок, використовуючи for-loop від 0 до кінця рядка. Використовуватиме параметр startIndex для find ().

Змінні startIndex і count будуть ініціалізовані до 0. Усередині для -loop буде перевіряти, чи присутній підрядок всередині рядка, заданого за допомогою find (), і startIndex як 0.

Значення, яке повертається з find (), якщо не -1, оновить startIndex до індексу, де знайдено рядок, а також збільшить значення підрахунку.

Ось робочий приклад:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Вихід:

The total count of substring test is: 6

Резюме

  • Метод рядка Python find () допомагає знайти індекс першого входження підрядка в даному рядку. Він поверне -1, якщо підрядок відсутній.
  • Параметри, передані методу пошуку підрядка Python, є підрядком, тобто рядком, який потрібно шукати, починати та закінчувати. Початкове значення за замовчуванням дорівнює 0, а кінцеве значення - довжина рядка.
  • Ви можете шукати підрядок у заданому рядку та вказати початкову позицію, звідки пошук розпочнеться. Параметр старту можна використовувати для того ж самого.
  • Використовуючи параметр start і end, ми спробуємо обмежити пошук, а не шукати весь рядок.
  • Функція Python rfind () подібна до функції find () з тією лише різницею, що rfind () дає найвищий індекс для заданої підрядка, а find () - найнижчий, тобто найперший індекс. І rfind () і find () повернуть -1, якщо підрядок відсутній.
  • Індекс рядка Python () - це ще одна функція, яка надасть вам позицію підрядка, як і find (). Єдина різниця між ними полягає в тому, що index () видасть виняток, якщо підрядок відсутній у рядку, а find () поверне -1.
  • Ми можемо скористатися функцією find (), щоб знайти підрахунок загальної кількості випадків підрядка в даному рядку.