logo

Kontrollera om String innehåller delsträng i Python

Den här artikeln kommer att täcka hur du kontrollerar om en Pytonorm sträng innehåller en annan sträng eller en delsträng i Python. Med tanke på två strängar, kontrollera om en delsträng finns i den givna strängen.

  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-delsträng i sträng

Att kontrollera en delsträng är en av de mest använda uppgifterna i Python. Python använder många metoder för att kontrollera en sträng som innehåller en delsträng som, find(), index(), count(), etc. Den mest effektiva och snabba metoden är att använda en i operator som används som en jämförelseoperator. Här kommer vi att täcka olika tillvägagångssätt:



  • Använda If-Else
  • Använder In Operator
  • Kontrollera med hjälp av split() metod
  • Använder sig av find() metod
  • Använder sig av count() metod
  • Använder sig av index() metod
  • Använder listförståelse
  • Använder lambdafunktion
  • Använda __contains__ magic class.
  • Använda skivningsfunktionen
  • Använder sig av vanliga uttryck
  • använder operatorn contains()-metoden

Kolla upp Python-delsträng i sträng med hjälp av If-Else

I Python kan du kontrollera att python-delsträngen i strängen är närvarande med en om annat påstående. If-else-satsen låter dig villkorligt exekvera olika kodblock baserat på om villkoret är sant eller falskt.

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

>

>

Produktion

Yes! it is present in the string>

Tidskomplexitet: På)
Hjälputrymme: O(1)

Kontrollera Python Substring i String med hjälp av I Operatör

I Python kan du enkelt kontrollera om en delsträng finns i en given sträng med hjälp avin>operatör. Dein>operatorn används för att testa om ett visst värde (delsträng) finns inom 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!>

Tidskomplexitet: På)
Hjälputrymme: O(1)

Kontrollera Python Substring i String med Split()-metoden

Kontrollera att python-delsträngen i strängen finns eller inte används dela(). Dela först den givna strängen i ord och lagra dem i en variabel s och använd sedan if-villkoret för att kontrollera om en delsträng finns i den givna strängen eller inte.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->tar input från användaren> 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>

Tidskomplexitet: O(n + m)
Hjälputrymme: På)

Kontrollera Python Substring i String med hjälp av metoden Find().

Vi kan iterativt kontrollera för varje ord, men Python ger oss en inbyggd funktion hitta() som kontrollerar om en delsträng finns i strängen, vilket görs på en rad. find()-funktionen returnerar -1 om den inte hittas, annars returnerar den den första förekomsten, så med den här funktionen kan detta problem lösas.

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

npm cache rensa
Yes>

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)

Kontrollera Python-delsträngen i String med Count()-metoden

Du kan också räkna antalet förekomster av en specifik delsträng i en sträng, sedan kan du använda Python räkna() metod. Om delsträngen inte hittas kommer ja att skrivas ut annars kommer nej att skrivas ut.

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

>

>

Produktion

No>

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)

Kontrollera Python-delsträngen i strängen med Index()-metoden

De Index() metod returnerar startindexet för delsträngen som skickas som en parameter. Här delsträng finns på index 16.

Python3




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

>

>

Produktion

16>

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)

Kontrollera Python Substring i String u sjunga Listförståelse

För att kontrollera Python-delsträng i sträng med hjälp av listförståelse . Att använda listförståelse ger ett kortfattat sätt att leta efter en delsträng i en sträng och avgöra om den finns i något av orden.

Python3




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

>

>

Produktion

['Yes']>

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)

Kontrollera Python Substring i String använder lambdafunktionen

För att kontrollera Python-delsträng i sträng med hjälp av lambdafunktion . Att använda en lambda-funktion ger ett kortfattat sätt att leta efter en delsträng i en sträng och avgöra om den finns i något av orden.

Python3




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

>

>

Produktion

['Yes']>

Tidskomplexitet: O(n + m)
Hjälputrymme: O(m)

Kontrollera Python Substring i String med magicklassen __contains__.

För att kontrollera python-delsträng i sträng använder vi __contains__(). Denna metod används för att kontrollera om strängen finns i den andra strängen eller inte.

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

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)

Kontrollera Python Substring i String med hjälp av skivning

Kontrollera python-delsträngen i strängen med hjälp av skivning. Denna implementering använder en loop för att iterera genom alla möjliga startindex för delsträngen i strängen, och använder sedan skivning för att jämföra den aktuella delsträngen med delsträngargumentet. Om den aktuella delsträngen matchar delsträngsargumentet returnerar funktionen True annars returnerar 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>

Tidskomplexitet: På M)
där n är längden på strängargumentet och m är längden på understrängargumentet. Detta beror på att funktionen använder en loop för att iterera genom alla möjliga startindex för delsträngen i strängen och sedan använder slicing för att jämföra den aktuella delsträngen med substrängargumentet. I värsta fall kommer slingan att iterera n-m+1 gånger, och varje skivoperation tar O(m) tid, vilket resulterar i en total tidskomplexitet på O((n-m+1)m) = O(nm) .
Hjälputrymme: O(1)

Kontrollera Python Substring i String med hjälp av reguljära uttryck

I Python kan du kontrollera att python-delsträngen i strängen finns med vanliga uttryck . Reguljära uttryck ger kraftfulla mönstermatchningsmöjligheter, så att du kan definiera komplexa sökmönster för delsträngsmatchning. Så här kan du använda reguljära uttryck för att söka efter en delsträng i en sträng.

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>

Tidskomplexitet: O(n), där n är längden på inmatningssträngen.
Utrymmes komplexitet: O(1), eftersom vi inte använder något extra utrymme

Kontrollera Python Substring i String använder metoden operator.contains().

Denna metod användsoperator.contains()metod för att kontrollera om delsträngen finns i sträng Om villkoret är True print ja annars skriv ut nej

Python3




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

Tidskomplexitet: PÅ)
Hjälputrymme: O(1)