Denne artikkelen vil dekke hvordan du sjekker om en Python streng inneholder en annen streng eller en delstreng i Python. Gitt to strenger, sjekk om en delstreng er i den gitte strengen.
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
Å sjekke en understreng er en av de mest brukte oppgavene i Python. Python bruker mange metoder for å sjekke en streng som inneholder en delstreng som, find(), index(), count() osv. Den mest effektive og raske metoden er å bruke en i operator som brukes som en sammenligningsoperator. Her vil vi dekke ulike tilnærminger:
- Bruke If-Else
- Bruker In Operator
- Kontroller ved hjelp av split() metode
- Ved hjelp av find() metode
- Ved hjelp av count() metode
- Ved hjelp av index() metode
- Bruke listeforståelse
- Bruker lambda-funksjon
- Bruke __contains__ magic class.
- Bruke skjæringsfunksjonen
- Ved hjelp av vanlig uttrykk
- bruker operatoren contains()-metoden
Kryss av Python-understreng i streng ved å bruke If-Else
I Python kan du sjekke at python-delstrengen i strengen er tilstede ved å bruke en hvis-annet uttalelse. If-else-setningen lar deg betinget utføre forskjellige kodeblokker basert på om betingelsen er sann eller usann.
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'>)> |
>
kartskrift
>
Produksjon
Yes! it is present in the string>
Tidskompleksitet: På)
Hjelpeplass: O(1)
Sjekker Python Substring i String ved hjelp av I Operatør
I Python kan du enkelt sjekke om en delstreng er til stede i en gitt streng ved å brukein>operatør. Dein>operator brukes til å teste om en bestemt verdi (delstreng) eksisterer 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!'>)> |
>
>
Produksjon
Substring found! Substring not found!>
Tidskompleksitet: På)
Hjelpeplass: O(1)
Sjekker Python Substring i String ved hjelp av Split()-metoden
Kontrollerer at python-delstrengen i strengen er tilstede eller ikke bruker dele(). Del først den gitte strengen i ord og lagre dem i en variabel s, og bruk deretter if-betingelsen, sjekk om en understreng er til stede i den gitte strengen eller ikke.
Python3
# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->tar innspill fra brukeren> 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'>)> |
>
>
Produksjon
Yes>
Tidskompleksitet: O(n + m)
Hjelpeplass: På)
Sjekk Python Substring i String ved å bruke Find()-metoden
Vi kan iterativt sjekke for hvert ord, men Python gir oss en innebygd funksjon finne() som sjekker om en delstreng er tilstede i strengen, noe som gjøres på én linje. funn()-funksjonen returnerer -1 hvis den ikke blir funnet, ellers returnerer den den første forekomsten, så ved å bruke denne funksjonen kan dette problemet 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)> |
>
>
Produksjon
Yes>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)
Sjekk Python-delstrengen i streng ved å bruke Count()-metoden
Du kan også telle antall forekomster av en bestemt delstreng i en streng, så kan du bruke Python telle() metode. Hvis delstrengen ikke blir funnet, vil ja skrives ut ellers vil nei bli skrevet ut.
Python3
hvilket år ble datamaskinen oppfunnet
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)> |
>
>
Produksjon
No>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)
Sjekk Python-delstrengen i strengen ved å bruke Index()-metoden
De Index() metode returnerer startindeksen til delstrengen som 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))> |
>
>
Produksjon
16>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)
Sjekk Python Substring i String u synge Listeforståelse
For å sjekke Python-delstreng i streng ved å bruke listeforståelse . Å bruke listeforståelse gir en kortfattet måte å se etter en delstreng i en streng og finne ut om den finnes i noen av ordene.
Python3
s>=>'geeks for geeks'> s2>=>'geeks'> print>([>'yes'> if> s2>in> s>else> 'no'>])> |
>
>
Produksjon
['Yes']>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)
Sjekk Python Substring i String ved å bruke Lambda-funksjonen
For å sjekke Python-delstreng i streng ved å bruke lambda funksjon . Å bruke en lambda-funksjon gir en kortfattet måte å se etter en delstreng i en streng og finne ut om den finnes i noen av 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
>
Produksjon
['Yes']>
Tidskompleksitet: O(n + m)
Hjelpeplass: O(m)
Sjekk Python Substring i String ved å bruke magiklassen __contains__.
For å sjekke python-delstreng i streng bruker vi __contains__(). Denne metoden brukes til å sjekke om strengen er til stede i den andre strengen eller ikke.
Python3
a>=> [>'Geeks-13'>,>'for-56'>,>'Geeks-78'>,>'xyz-46'>]> for> i>in> a:> >if> i.__contains__(>'Geeks'>):> >print>(f>'Yes! {i} is containing.'>)> |
>
>
Produksjon
Yes! Geeks-13 is containing. Yes! Geeks-78 is containing.>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)
Sjekk Python Substring i String ved hjelp av skjæring
Sjekk python-delstrengen i strengen ved hjelp av skjæring. Denne implementeringen bruker en løkke for å iterere gjennom alle mulige startindekser for delstrengen i strengen, og bruker deretter skjæring for å sammenligne gjeldende delstreng med delstrengargumentet. Hvis den gjeldende delstrengen samsvarer med delstrengargumentet, returnerer funksjonen 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))> |
>
>
Produksjon
True>
Tidskompleksitet: På M)
der n er lengden på strengargumentet og m er lengden på delstrengargumentet. Dette er fordi funksjonen bruker en sløyfe for å iterere gjennom alle mulige startindekser for delstrengen i strengen og deretter bruker slicing for å sammenligne gjeldende delstreng med delstrengargumentet. I verste fall vil sløyfen iterere n-m+1 ganger, og hver skiveoperasjon tar O(m) tid, noe som resulterer i en total tidskompleksitet på O((n-m+1)m) = O(nm) .
Hjelpeplass: O(1)
Sjekk Python Substring i String ved hjelp av regulære uttrykk
I Python kan du sjekke at python-delstrengen i strengen er tilstede ved å bruke vanlig uttrykk . Regulære uttrykk gir kraftige mønstertilpasningsmuligheter, slik at du kan definere komplekse søkemønstre for understrengsamsvar. Slik kan du bruke regulære uttrykk for å se etter 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'>)> |
>
>
Produksjon
Yes! it is present in the string>
Tidskompleksitet: O(n), hvor n er lengden på inndatastrengen.
Plass kompleksitet: O(1), siden vi ikke bruker noe ekstra plass
Sjekk Python Substring i String bruker metoden operator.contains().
Denne tilnærmingen brukesoperator.contains()metode for å sjekke om delstrengen er tilstede 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'>)> |
>
>
Produksjon
Yes>
Tidskompleksitet: PÅ)
Hjelpeplass: O(1)