logo

Tjek, om streng indeholder understreng i Python

Denne artikel vil dække, hvordan man kontrollerer, om en Python streng indeholder en anden streng eller en understreng i Python. Givet to strenge, tjek om en understreng er i den givne streng.

  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-understreng i streng

Kontrol af en understreng er en af ​​de mest brugte opgaver i Python. Python bruger mange metoder til at kontrollere en streng, der indeholder en understreng som, find(), index(), count() osv. Den mest effektive og hurtige metode er ved at bruge en i operator, der bruges som sammenligningsoperator. Her vil vi dække forskellige tilgange:



  • Brug af If-Else
  • Bruger In Operator
  • Kontrol vha split() metode
  • Ved brug af find() metode
  • Ved brug af count() metode
  • Ved brug af index() metode
  • Brug af listeforståelse
  • Bruger lambda funktion
  • Brug af __contains__ magic class.
  • Brug af udskæringsfunktionen
  • Ved brug af regulære udtryk
  • bruger operatoren contains() metode

Kontrollere Python-understreng i streng ved hjælp af If-Else

I Python kan du kontrollere, at python-understrengen i strengen er til stede ved hjælp af en hvis ellers udmelding. If-else-sætningen giver dig mulighed for betinget at udføre forskellige kodeblokke baseret på, om betingelsen er sand eller falsk.

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'>)>

>

java matematik tilfældig

>

Produktion

Yes! it is present in the string>

Tidskompleksitet: På)
Hjælpeplads: O(1)

Kontrollerer Python Substring i String ved hjælp af I Operatør

I Python kan du nemt kontrollere, om en understreng er til stede i en given streng ved hjælp afin>operatør. Detin>operator bruges til at teste, om en bestemt værdi (understreng) findes i en sekvens.

Python3




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!'>)>

>

>

Produktion

Substring found! Substring not found!>

Tidskompleksitet: På)
Hjælpeplads: O(1)

Kontrollerer Python Substring i String ved hjælp af Split() metoden

Kontrollerer, at python-understrengen i strengen er til stede eller ikke bruger dele(). Opdel først den givne streng i ord og gem dem i en variabel s, og brug derefter if-betingelsen til at kontrollere, om en understreng er til stede i den givne streng eller ej.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->tager input fra brugeren> 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'>)>

>

>

Produktion

Yes>

Tidskompleksitet: O(n + m)
Hjælpeplads: På)

Tjek Python Substring i String ved hjælp af Find() metoden

Vi kan iterativt tjekke for hvert ord, men Python giver os en indbygget funktion Find() som tjekker om en understreng er til stede i strengen, hvilket gøres på én linje. find()-funktionen returnerer -1, hvis den ikke findes, ellers returnerer den den første forekomst, så ved at bruge denne funktion kan dette problem løses.

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)>

>

>

Produktion

Yes>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)

Tjek Python-understrengen i streng ved hjælp af Count()-metoden

Du kan også tælle antallet af forekomster af en specifik understreng i en streng, så kan du bruge Python tælle() metode. Hvis understrengen ikke findes, udskrives ja, ellers udskrives nej.

Python3

hvilket år computeren blev opfundet




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)>

>

>

Produktion

No>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)

Tjek Python Substring i streng ved hjælp af Index() metode

Det Index() metode returnerer startindekset for den delstreng, der sendes som en parameter. Her understreng er til stede på indeks 16.

Python3


java program



any_string>=> 'Geeks for Geeks substring '> start>=> 0> end>=> 1000> print>(any_string.index(>'substring'>, start, end))>

>

>

Produktion

16>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)

Tjek Python Substring i String u synge Listeforståelse

For at kontrollere Python understreng i streng ved hjælp af listeforståelse . Brug af listeforståelse giver en kortfattet måde at kontrollere for en understreng i en streng og afgøre, om den findes i nogen af ​​ordene.

Python3




s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])>

>

>

Produktion

['Yes']>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)

Tjek Python Substring i String ved hjælp af Lambda-funktionen

For at kontrollere Python understreng i streng ved hjælp af lambda funktion . Brug af en lambda-funktion giver en kortfattet måde at kontrollere for en understreng i en streng og afgøre, om den findes i nogen af ​​ordene.

Python3




s>=>'geeks for geeks'> s2>=>'geeks'> x>=>list>(>filter>(>lambda> x: (s2>in> s),s.split()))> print>([>'yes'> if> x>else> 'no'>])>

>

knn

>

Produktion

['Yes']>

Tidskompleksitet: O(n + m)
Hjælpeplads: O(m)

Tjek Python Substring i String ved hjælp af magicklassen __contains__.

For at kontrollere python-understreng i streng bruger vi __contains__(). Denne metode bruges til at kontrollere, om strengen er til stede i den anden streng eller ej.

Python3




a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)>

>

>

Produktion

Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)

Tjek Python Substring i String ved hjælp af udskæring

Tjek python-understreng i streng ved hjælp af udskæring. Denne implementering bruger en løkke til at iterere gennem alle mulige startindekser for understrengen i strengen og bruger derefter udskæring for at sammenligne den aktuelle understreng med understrengsargumentet. Hvis den aktuelle understreng matcher understrengsargumentet, returnerer funktionen True ellers returnerer 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))>

>

>

Produktion

True>

Tidskompleksitet: O(n*m)
hvor n er længden af ​​strengargumentet, og m er længden af ​​understrengsargumentet. Dette skyldes, at funktionen bruger en løkke til at iterere gennem alle mulige startindeks for understrengen i strengen og derefter bruger udskæring til at sammenligne den aktuelle understreng med understrengsargumentet. I værste tilfælde vil løkken iterere n-m+1 gange, og hver skiveoperation tager O(m) tid, hvilket resulterer i en samlet tidskompleksitet på O((n-m+1)m) = O(nm) .
Hjælpeplads: O(1)

Tjek Python-understrengen i streng ved hjælp af regulært udtryk

I Python kan du kontrollere, at python-understrengen i strengen er til stede ved hjælp af regulære udtryk . Regulære udtryk giver kraftfulde mønstermatchningsfunktioner, så du kan definere komplekse søgemønstre til understrengsmatchning. Sådan kan du bruge regulære udtryk til at tjekke for en understreng i en streng.

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'>)>

>

>

Produktion

Yes! it is present in the string>

Tidskompleksitet: O(n), hvor n er længden af ​​inputstrengen.
Rumkompleksitet: O(1), da vi ikke bruger ekstra plads

Tjek Python Substring i String ved at bruge metoden operator.contains().

Denne tilgang brugtoperator.contains()metode til at kontrollere om understrengen er til stede i streng Hvis betingelsen er True print ja ellers print no

Python3


xor i java



#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'>)>

>

>

Produktion

Yes>

Tidskompleksitet: PÅ)
Hjælpeplads: O(1)