У цій статті буде описано, як перевірити, чи a Python рядок містить інший рядок або підрядок у Python. Дано два рядки, перевірте, чи є підрядок у заданому рядку.
Input: Substring = 'geeks' String='geeks for geeks' Output: yes Input: Substring = 'geek' String='geeks for geeks' Output: yes Explanation: In this, we are checking if the substring is present in a given string or not.>
Підрядок Python у рядку
Перевірка підрядка є одним із найпоширеніших завдань у Python. Python використовує багато методів для перевірки рядка, що містить підрядок, як-от find(), index(), count() тощо. Найбільш ефективним і швидким методом є використання в оператор, який використовується як оператор порівняння. Тут ми розглянемо різні підходи:
- Використання функції If-Else
- Використання оператора In
- Перевірка за допомогою метод split().
- Використання метод find().
- Використання метод count().
- Використання метод index().
- Використання розуміння списку
- Використання лямбда-функції
- Використання магічного класу __contains__.
- Використання функції нарізки
- Використання регулярні вирази
- використання методу оператора contains().
Перевірте Підрядок Python у рядку за допомогою If-Else
У Python ви можете перевірити наявність підрядка python у рядку за допомогою an якщо-інакше заява. Інструкція if-else дозволяє умовно виконувати різні блоки коду залежно від того, чи є умова істинною чи хибною.
Python3
# Take input from users> MyString1>=> 'A geek in need is a geek indeed'> > if> 'need'> in> MyString1:> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)> |
>
>
Вихід
Yes! it is present in the string>
Часова складність: O(n)
Допоміжний простір: О(1)
Перевірка підрядка Python у рядку за допомогою В Оператор
У Python ви можете легко перевірити, чи присутній підрядок у даному рядку, використовуючиin>оператор. Thein>використовується для перевірки наявності певного значення (підрядка) у послідовності.
Python3
як перетворити int на рядок java
text>=> 'Geeks welcome to the Geek Kingdom!'> > if> 'Geek'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)> > if> 'For'> in> text:> >print>(>'Substring found!'>)> else>:> >print>(>'Substring not found!'>)> |
>
>
Вихід
Substring found! Substring not found!>
Часова складність: O(n)
Допоміжний простір: О(1)
Перевірка підрядка Python у рядку за допомогою методу Split().
Перевірка підрядка Python у рядку присутній чи не використовується split(). Спочатку розділіть даний рядок на слова та збережіть їх у змінній s, а потім за допомогою умови if перевірте, чи присутній підрядок у даному рядку чи ні.
Python3
# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->отримання інформації від користувача> substring>=> 'geeks'> # or substring=input()> > # splitting words in a given string> s>=> string.split()> > # checking condition> # if substring is present in the given string then it gives output as yes> if> substring>in> s:> >print>(>'yes'>)> else>:> >print>(>'no'>)> |
>
>
Вихід
Yes>
Часова складність: O(n + m)
Допоміжний простір: O(n)
Перевірте підрядок Python у рядку за допомогою методу Find().
Ми можемо періодично перевіряти кожне слово, але Python надає нам вбудовану функцію знайти() який перевіряє наявність підрядка в рядку, що виконується в одному рядку. Функція find() повертає -1, якщо не знайдено, інакше вона повертає перше входження, тому за допомогою цієї функції цю проблему можна вирішити.
Python3
умысел умисел
def> check(string, sub_str):> >if> (string.find(sub_str)>=>=> ->1>):> >print>(>'NO'>)> >else>:> >print>(>'YES'>)> > > # driver code> string>=> 'geeks for geeks'> sub_str>=> 'geek'> check(string, sub_str)> |
>
>
Вихід
Yes>
Часова складність: O(N)
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку за допомогою методу Count().
Ви також можете підрахувати кількість входжень певного підрядка в рядку, тоді ви можете використовувати Python рахувати() метод. Якщо підрядок не знайдено, буде надруковано «так», інакше буде надруковано «ні».
Python3
def> check(s2, s1):> >if> (s2.count(s1)>>0>):> >print>(>'YES'>)> >else>:> >print>(>'NO'>)> > > s2>=> 'A geek in need is a geek indeed'> s1>=> 'geeks'> check(s2, s1)> |
>
>
Вихід
No>
Часова складність: O(N)
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку за допомогою методу Index().
The Метод Index(). повертає початковий індекс підрядка, переданого як параметр. тут підрядок присутній під індексом 16.
Python3
any_string>=> 'Geeks for Geeks substring '> start>=> 0> end>=> 1000> print>(any_string.index(>'substring'>, start, end))> |
>
>
Вихід
16>
Часова складність: O(N)
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку u співати Розуміння списку
Щоб перевірити підрядок Python у рядку за допомогою розуміння списку . Використання розуміння списку забезпечує стислий спосіб перевірити наявність підрядка в рядку та визначити, чи існує він у будь-якому зі слів.
список в java
Python3
s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])> |
>
>
Вихід
['Yes']>
Часова складність: O(N)
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку за допомогою функції Лямбда
Щоб перевірити підрядок Python у рядку за допомогою лямбда-функція . Використання лямбда-функції забезпечує стислий спосіб перевірити наявність підрядка в рядку та визначити, чи існує він у будь-якому зі слів.
Python3
s>=>'geeks for geeks'> s2>=>'geeks'> x>=>list>(>filter>(>lambda> x: (s2>in> s),s.split()))> print>([>'yes'> if> x>else> 'no'>])> |
>
Шилпа Шетті
>
Вихід
['Yes']>
Часова складність: O(n + m)
Допоміжний простір: О(м)
Перевірте підрядок Python у рядку за допомогою магічного класу __contains__.
Щоб перевірити підрядок python у рядку, ми використовуємо __contains__(). Цей метод використовується для перевірки наявності рядка в іншому рядку чи ні.
Python3
a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)> |
>
>
Вихід
Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>
Часова складність: O(N)
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку за допомогою нарізки
Перевірте підрядок python у рядку за допомогою нарізки. Ця реалізація використовує цикл для перебору кожного можливого початкового індексу підрядка в рядку, а потім використовує нарізка щоб порівняти поточний підрядок з аргументом підрядка. Якщо поточний підрядок збігається з аргументом підрядка, функція повертає True, інакше повертає False.
Python3
def> is_substring(string, substring):> >for> i>in> range>(>len>(string)>-> len>(substring)>+> 1>):> >if> string[i:i>+>len>(substring)]>=>=> substring:> >return> True> >return> False> string>=> 'A geeks in need is a geek indeed'> substring>=> 'geeks'> print>(is_substring(string,substring))> |
>
>
Вихід
True>
Часова складність: O(n*m)
де n — довжина аргументу рядка, а m — довжина аргументу підрядка. Це пов’язано з тим, що функція використовує цикл для перебору кожного можливого початкового індексу підрядка в рядку, а потім використовує зріз для порівняння поточного підрядка з аргументом підрядка. У гіршому випадку цикл повторюватиметься n-m+1 разів, і кожна операція зрізу займатиме O(m) часу, в результаті чого загальна часова складність буде O((n-m+1)m) = O(nm) .
Допоміжний простір: О(1)
Перевірте підрядок Python у рядку за допомогою регулярного виразу
У Python ви можете перевірити наявність підрядка python у рядку за допомогою регулярні вирази . Регулярні вирази надають потужні можливості зіставлення шаблонів, дозволяючи визначати складні шаблони пошуку для зіставлення підрядків. Ось як ви можете використовувати регулярні вирази для перевірки підрядка в рядку.
Python3
import> re> > MyString1>=> 'A geek in need is a geek indeed'> > if> re.search(>'need'>, MyString1):> >print>(>'Yes! it is present in the string'>)> else>:> >print>(>'No! it is not present'>)> |
mvc з java
>
>
Вихід
Yes! it is present in the string>
Часова складність: O(n), де n - довжина вхідного рядка.
Космічна складність: O(1), оскільки ми не використовуємо жодного додаткового місця
Перевірте підрядок Python у рядку за допомогою методу operator.contains().
Використовується цей підхідoperator.contains()метод для перевірки наявності підрядка в рядку. Якщо умова має значення True, друкуйте так, інакше друкуйте ні
Python3
#Python program to check if a substring is present in a given string> import> operator as op> s>=>'geeks for geeks'> s2>=>'geeks'> if>(op.contains(s,s2)):> >print>(>'yes'>)> else>:> >print>(>'no'>)> |
>
>
Вихід
Yes>
Часова складність: O(N)
Допоміжний простір: О(1)