logo

Controlla se la stringa contiene una sottostringa in Python

Questo articolo tratterà come verificare se a Pitone string contiene un'altra stringa o una sottostringa in Python. Date due stringhe, controlla se è presente una sottostringa nella stringa data.

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

Sottostringa Python in String

Il controllo di una sottostringa è una delle attività più utilizzate in Python. Python utilizza molti metodi per controllare una stringa contenente una sottostringa come find(), index(), count(), ecc. Il metodo più efficiente e veloce è utilizzare un In operatore utilizzato come operatore di confronto. Qui tratteremo diversi approcci:



  • Utilizzando If-Else
  • Utilizzo nell'operatore
  • Controllo utilizzando metodo split()
  • Utilizzando metodo find()
  • Utilizzando metodo count()
  • Utilizzando metodo indice()
  • Utilizzando la comprensione delle liste
  • Utilizzando la funzione lambda
  • Utilizzo della classe magica __contains__.
  • Utilizzo della funzione di affettatura
  • Utilizzando espressioni regolari
  • utilizzando il metodo operator contiene()

Controllo Sottostringa Python in String utilizzando l'If-Else

In Python, puoi verificare che la sottostringa Python nella stringa sia presente usando un se altro dichiarazione. L'istruzione if-else consente di eseguire in modo condizionale diversi blocchi di codice a seconda che la condizione sia vera o falsa.

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

>

>

Produzione

Yes! it is present in the string>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controllo della sottostringa Python in String utilizzando Nell'Operatore

In Python, puoi facilmente verificare se una sottostringa è presente in una determinata stringa usando il comandoin>operatore. ILin>L'operatore viene utilizzato per verificare se un particolare valore (sottostringa) esiste all'interno di una sequenza.

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

>

>

Produzione

quanto è grande il mio monitor?
Substring found! Substring not found!>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controllo della sottostringa Python in String utilizzando il metodo Split()

Il controllo della sottostringa Python nella stringa è presente o non viene utilizzato diviso(). Per prima cosa dividi la stringa data in parole e memorizzale in una variabile s, quindi utilizzando la condizione if, controlla se una sottostringa è presente o meno nella stringa data.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->prendendo input dall'utente> 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'>)>

>

>

Produzione

Yes>

Complessità temporale: O(n+m)
Spazio ausiliario: SU)

Controlla la sottostringa Python in String usando il metodo Find()

Possiamo controllare iterativamente ogni parola, ma Python ci fornisce una funzione incorporata Trovare() che controlla se è presente una sottostringa nella stringa, operazione eseguita su una riga. La funzione find() restituisce -1 se non viene trovata, altrimenti restituisce la prima occorrenza, quindi utilizzando questa funzione è possibile risolvere questo problema.

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

>

>

Produzione

Yes>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controlla la sottostringa Python in String utilizzando il metodo Count()

Puoi anche contare il numero di occorrenze di una sottostringa specifica in una stringa, quindi puoi usare Python contare() metodo. Se la sottostringa non viene trovata, verrà stampato sì, altrimenti verrà stampato no.

Python3

Java Ciao mondo esempio




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

>

>

Produzione

No>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controlla la sottostringa Python nella stringa utilizzando il metodo Index()

IL Metodo Indice() restituisce l'indice iniziale della sottostringa passata come parametro. Qui sottostringa è presente all'indice 16.

Python3




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

>

>

Produzione

16>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controlla la sottostringa Python in String u cantare la comprensione dell'elenco

Per controllare la sottostringa Python nella stringa utilizzando comprensione delle liste . L'utilizzo della comprensione delle liste fornisce un modo conciso per verificare la presenza di una sottostringa in una stringa e determinare se esiste in una qualsiasi delle parole.

Python3




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

>

>

Produzione

['Yes']>

Complessità temporale: SU)
Spazio ausiliario: O(1)

Controlla la sottostringa Python in String utilizzando la funzione Lambda

Per controllare la sottostringa Python nella stringa utilizzando funzione lambda . L'utilizzo di una funzione lambda fornisce un modo conciso per verificare la presenza di una sottostringa in una stringa e determinare se esiste in una qualsiasi delle parole.

Python3




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

>

>

Produzione

['Yes']>

Complessità temporale: O(n+m)
Spazio ausiliario: O(m)

Controlla la sottostringa Python in String usando la classe magica __contains__.

Per controllare la sottostringa Python nella stringa utilizziamo __contains__(). Questo metodo viene utilizzato per verificare se la stringa è presente nell'altra stringa o meno.

Python3




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

>

>

Produzione

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

Complessità temporale: SU)
Spazio ausiliario: O(1)

pulsante centrale css

Controlla la sottostringa Python in String utilizzando l'affettatura

Controlla la sottostringa Python nella stringa usando l'affettatura. Questa implementazione utilizza un ciclo per scorrere ogni possibile indice iniziale della sottostringa nella stringa, quindi utilizza affettare per confrontare la sottostringa corrente con l'argomento della sottostringa. Se la sottostringa corrente corrisponde all'argomento della sottostringa, la funzione restituisce True altrimenti restituisce 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))>

>

>

Produzione

True>

Complessità temporale: O(n*m)
dove n è la lunghezza dell'argomento stringa e m è la lunghezza dell'argomento sottostringa. Questo perché la funzione utilizza un ciclo per scorrere ogni possibile indice iniziale della sottostringa nella stringa e quindi utilizza l'affettamento per confrontare la sottostringa corrente con l'argomento della sottostringa. Nel peggiore dei casi, il ciclo ripeterà n-m+1 volte e ogni operazione di fetta richiederà O(m) tempo, risultando in una complessità temporale totale di O((n-m+1)m) = O(nm) .
Spazio ausiliario: O(1)

Controlla la sottostringa Python in String usando l'espressione regolare

In Python, puoi verificare che la sottostringa Python nella stringa sia presente utilizzando espressioni regolari . Le espressioni regolari forniscono potenti funzionalità di corrispondenza dei modelli, consentendo di definire modelli di ricerca complessi per la corrispondenza delle sottostringhe. Ecco come puoi utilizzare le espressioni regolari per verificare la presenza di una sottostringa in una stringa.

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

>

>

Produzione

Yes! it is present in the string>

Complessità temporale: O(n), dove n è la lunghezza della stringa di input.
Complessità spaziale: O(1), poiché non stiamo utilizzando spazio aggiuntivo

Controlla la sottostringa Python in String utilizzando il metodo operator.contains()

Questo approccio utilizzatooperatore.contains()metodo per verificare se la sottostringa è presente nella stringa Se la condizione è True stampa sì altrimenti stampa no

Python3




altezza kat timpf

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

>

>

Produzione

Yes>

Complessità temporale: SU)
Spazio ausiliario: O(1)