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)