Що таке 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, inprint("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 (), щоб знайти підрахунок загальної кількості випадків підрядка в даному рядку.