logo

Überprüfen Sie, ob String in Python einen Teilstring enthält

In diesem Artikel erfahren Sie, wie Sie überprüfen können, ob a Python string enthält einen anderen String oder einen Teilstring in Python. Überprüfen Sie bei zwei gegebenen Zeichenfolgen, ob eine Teilzeichenfolge in der angegebenen Zeichenfolge enthalten ist.

  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-Teilstring in String

Das Überprüfen eines Teilstrings ist eine der am häufigsten verwendeten Aufgaben in Python. Python verwendet viele Methoden, um einen String zu überprüfen, der einen Teilstring enthält, wie find(), index(), count() usw. Die effizienteste und schnellste Methode ist die Verwendung von an In Operator, der als Vergleichsoperator verwendet wird. Hier werden wir verschiedene Ansätze behandeln:



  • Verwenden des If-Else
  • Verwendung des In-Operators
  • Überprüfung mit split()-Methode
  • Benutzen find()-Methode
  • Benutzen count()-Methode
  • Benutzen index()-Methode
  • Verwendung des Listenverständnisses
  • Verwendung der Lambda-Funktion
  • Verwendung der magischen Klasse __contains__.
  • Verwenden der Slicing-Funktion
  • Benutzen Reguläre Ausdrücke
  • Verwenden der Methode „Operator enthält()“.

Überprüfen Python-Teilstring in String mit dem If-Else

In Python können Sie mit einem überprüfen, ob ein Python-Teilstring in string vorhanden ist ansonsten Stellungnahme. Mit der if-else-Anweisung können Sie verschiedene Codeblöcke bedingt ausführen, je nachdem, ob die Bedingung wahr oder falsch ist.

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

>

>

Ausgabe

Yes! it is present in the string>

Zeitkomplexität: An)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String mit Im Betreiber

In Python können Sie mithilfe von ganz einfach überprüfen, ob ein Teilstring in einem bestimmten String vorhanden istin>Operator. Derin>Der Operator wird verwendet, um zu testen, ob ein bestimmter Wert (Teilzeichenfolge) innerhalb einer Sequenz vorhanden ist.

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

>

>

Ausgabe

Substring found! Substring not found!>

Zeitkomplexität: An)
Hilfsraum: O(1)

Überprüfen des Python-Teilstrings in String mithilfe der Split()-Methode

Überprüfen, ob die Python-Teilzeichenfolge in der Zeichenfolge vorhanden ist oder nicht verwendet wird Teilt(). Teilen Sie zunächst die angegebene Zeichenfolge in Wörter auf und speichern Sie sie in einer Variablen. Überprüfen Sie dann mithilfe der if-Bedingung, ob eine Teilzeichenfolge in der angegebenen Zeichenfolge vorhanden ist oder nicht.

Python3




# input strings str1 and substr> string>=> 'geeks for geeks'> # or string=input() ->Eingaben des Benutzers entgegennehmen> 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'>)>

>

>

Ausgabe

Yes>

Zeitkomplexität: O(n + m)
Hilfsraum: An)

Überprüfen Sie den Python-Teilstring in String mit der Find()-Methode

Wir können iterativ nach jedem Wort suchen, aber Python stellt uns eine eingebaute Funktion zur Verfügung finden() Dies prüft, ob ein Teilstring im String vorhanden ist, was in einer Zeile erfolgt. Die Funktion find() gibt -1 zurück, wenn sie nicht gefunden wird, andernfalls gibt sie das erste Vorkommen zurück, sodass dieses Problem mit dieser Funktion gelöst werden kann.

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

>

>

Ausgabe

Yes>

Zeitkomplexität: AN)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String mit der Count()-Methode

Sie können auch die Anzahl der Vorkommen eines bestimmten Teilstrings in einem String zählen und dann Python verwenden zählen() Methode. Wenn die Teilzeichenfolge nicht gefunden wird, wird „Ja“ gedruckt, andernfalls wird „Nein“ gedruckt.

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

>

>

Ausgabe

No>

Zeitkomplexität: AN)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring im String mithilfe der Index()-Methode

Der Index()-Methode gibt den Startindex des als Parameter übergebenen Teilstrings zurück. Hier Teilzeichenfolge liegt bei Index 16 vor.

Python3


Konvertieren Sie das Datum in eine Zeichenfolge



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

>

>

Ausgabe

16>

Zeitkomplexität: AN)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String u singen Listenverständnis

So überprüfen Sie den Python-Teilstring im String mit Listenverständnis . Die Verwendung des Listenverständnisses bietet eine präzise Möglichkeit, nach einer Teilzeichenfolge in einer Zeichenfolge zu suchen und festzustellen, ob sie in einem der Wörter vorhanden ist.

Python3




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

>

>

Ausgabe

['Yes']>

Zeitkomplexität: AN)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String unter Verwendung der Lambda-Funktion

So überprüfen Sie den Python-Teilstring im String mit Lambda-Funktion . Die Verwendung einer Lambda-Funktion bietet eine präzise Möglichkeit, in einer Zeichenfolge nach einer Teilzeichenfolge zu suchen und festzustellen, ob sie in einem der Wörter vorhanden ist.

Python3




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

>

>

Ausgabe

['Yes']>

Zeitkomplexität: O(n + m)
Hilfsraum: O(m)

Überprüfen Sie den Python-Teilstring in String mit der magischen Klasse __contains__.

Um den Python-Teilstring im String zu überprüfen, verwenden wir __contains__(). Mit dieser Methode wird überprüft, ob die Zeichenfolge in der anderen Zeichenfolge vorhanden ist oder nicht.

Python3




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

>

>

Ausgabe

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

Zeitkomplexität: AN)
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String mit Slicing

Überprüfen Sie den Python-Teilstring im String mithilfe von Slicing. Diese Implementierung verwendet eine Schleife, um jeden möglichen Startindex des Teilstrings im String zu durchlaufen und dann zu verwenden schneiden um den aktuellen Teilstring mit dem Teilstring-Argument zu vergleichen. Wenn die aktuelle Teilzeichenfolge mit dem Teilzeichenfolgenargument übereinstimmt, gibt die Funktion True zurück, andernfalls gibt sie False zurück.

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

>

>

Ausgabe

True>

Zeitkomplexität: O(n*m)
Dabei ist n die Länge des String-Arguments und m die Länge des Teilstring-Arguments. Dies liegt daran, dass die Funktion eine Schleife verwendet, um jeden möglichen Startindex der Teilzeichenfolge in der Zeichenfolge zu durchlaufen, und dann das Slicing verwendet, um die aktuelle Teilzeichenfolge mit dem Teilzeichenfolgenargument zu vergleichen. Im schlimmsten Fall wird die Schleife n-m+1 Mal durchlaufen und jede Slice-Operation benötigt O(m) Zeit, was zu einer Gesamtzeitkomplexität von O((n-m+1)m) = O(nm) führt. .
Hilfsraum: O(1)

Überprüfen Sie den Python-Teilstring in String mithilfe eines regulären Ausdrucks

In Python können Sie mithilfe von überprüfen, ob ein Python-Teilstring in der Zeichenfolge vorhanden ist Reguläre Ausdrücke . Reguläre Ausdrücke bieten leistungsstarke Mustervergleichsfunktionen, mit denen Sie komplexe Suchmuster für den Teilzeichenfolgenabgleich definieren können. So können Sie mit regulären Ausdrücken nach einem Teilstring in einem String suchen.

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

>

>

Ausgabe

Yes! it is present in the string>

Zeitkomplexität: O(n), wobei n die Länge der Eingabezeichenfolge ist.
Raumkomplexität: O(1), da wir keinen zusätzlichen Platz verbrauchen

Überprüfen Sie den Python-Teilstring in String mit der Methode „operator.contains()“.

Dieser Ansatz wurde verwendetOperator.contains()Methode zum Überprüfen, ob die Teilzeichenfolge in der Zeichenfolge vorhanden ist. Wenn die Bedingung wahr ist, drucken Sie „Ja“, andernfalls drucken Sie „Nein“.

Python3




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

>

>

Ausgabe

Yes>

Zeitkomplexität: AN)
Hilfsraum: O(1)