Überprüfen Sie, ob ein Wort in einem String in Python existiert

Fariba Laiq 21 Juni 2023
  1. Verwenden Sie den in-Operator, um zu prüfen, ob ein Wort in einer Zeichenfolge in Python vorhanden ist
  2. Verwenden Sie die Methode String.find(), um zu prüfen, ob ein Wort in einem String in Python existiert
  3. Verwenden Sie die Methode String.index(), um zu prüfen, ob ein Wort in einem String in Python existiert
  4. Verwenden Sie die search()-Methode, um zu prüfen, ob ein Wort in einem String in Python existiert
Überprüfen Sie, ob ein Wort in einem String in Python existiert

Angenommen, es gibt eine Zeichenfolge "Das Wetter ist heute so angenehm". Wenn wir überprüfen möchten, ob das Wort Wetter in der Zeichenfolge vorhanden ist oder nicht, haben wir mehrere Möglichkeiten, dies herauszufinden.

In diesem Handbuch werden wir uns den in-Operator, die string.find()-Methode, die string.index()-Methode und den regulären Ausdruck (RegEx) ansehen.

Verwenden Sie den in-Operator, um zu prüfen, ob ein Wort in einer Zeichenfolge in Python vorhanden ist

Eine der einfachsten Möglichkeiten, ein Wort in einer Zeichenfolge oder Sequenzen wie Listen, Tupeln oder Arrays zu suchen, ist der Operator in. Es gibt einen booleschen Wert zurück, wenn es in einer Bedingung verwendet wird.

Es kann entweder true oder false sein. Existiert das angegebene Wort, wird die Anweisung mit true ausgewertet; wenn das Wort nicht existiert, wird es mit false ausgewertet.

Dieser Operator ist case-sensitiv. Wenn wir versuchen, das Wort Spaß im folgenden Code zu finden, erhalten wir in der Ausgabe die Meldung Spaß nicht gefunden.

Beispielcode:

# Python 3.x
sentence = "Learning Python is fun"
word = "fun"
if word in sentence:
    print(word, "found!")
else:
    print(word, "not found!")

Ausgang:

#Python 3.x
fun found!

Wenn wir nach einem Wort innerhalb einer Zeichenfolge suchen möchten, ohne uns um die Groß-/Kleinschreibung zu kümmern, müssen wir die Hauptzeichenfolge und das zu suchende Wort in Kleinbuchstaben umwandeln. Im folgenden Code prüfen wir das Wort Fun.

Beispielcode:

# Python 3.x
sentence = "Learning Python is fun"
word = "Fun"
if word.lower() in sentence.lower():
    print(word, "found!")
else:
    print(word, "not found!")

Ausgang

#Python 3.x
Fun found!

Verwenden Sie die Methode String.find(), um zu prüfen, ob ein Wort in einem String in Python existiert

Wir können die Methode find() mit einem String verwenden, um nach einem bestimmten Wort zu suchen. Wenn das angegebene Wort existiert, wird der ganz links oder Startindex des Wortes in der Hauptzeichenfolge zurückgegeben.

Andernfalls wird einfach der Index –1 zurückgegeben. Die Methode find() zählt auch den Index von Leerzeichen. Im folgenden Code erhalten wir die Ausgabe 9, weil 9 der Startindex von Python ist, der Index des Zeichens P.

Auch bei dieser Methode wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden. Wenn wir nach dem Wort python suchen, wird -1 zurückgegeben.

Beispielcode:

# Python 3.x
string = "Learning Python is fun"
index = string.find("Python")
print(index)

Ausgang:

#Python 3.x
9

Verwenden Sie die Methode String.index(), um zu prüfen, ob ein Wort in einem String in Python existiert

index() ist dasselbe wie die Methode find(). Diese Methode gibt auch den niedrigsten Index der Teilzeichenfolge in der Hauptzeichenfolge zurück.

Der einzige Unterschied besteht darin, dass, wenn das angegebene Wort oder der Teilstring nicht existiert, die Methode find() den Index –1 zurückgibt, während die Methode index() eine Ausnahme auslöst (value error exception).

Beispielcode:

# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Python"))

Ausgang:

#Python 3.x
9

Jetzt versuchen wir, ein Wort zu finden, das im Satz nicht vorkommt.

# Python 3.x
mystring = "Learning Python is fun"
print(mystring.index("Java"))

Ausgang:

#Python 3.x
ValueError                                Traceback (most recent call last)
<ipython-input-12-544a99b6650a> in <module>()
      1 mystring = "Learning Python is fun"
----> 2 print(mystring.index("Java"))

ValueError: substring not found

Verwenden Sie die search()-Methode, um zu prüfen, ob ein Wort in einem String in Python existiert

Wir können nach einem bestimmten Wort durch Musterabgleich von Zeichenfolgen mit der Methode search() suchen. Diese Methode steht im Modul re zur Verfügung.

Das re steht hier für Regular Expression. Die Suchmethode akzeptiert zwei Argumente.

Das erste Argument ist das zu suchende Wort und das zweite die gesamte Zeichenfolge. Aber diese Methode arbeitet langsamer als die anderen.

Beispielcode:

# Python 3.x
from re import search

sentence = "Learning Python is fun"
word = "Python"
if search(word, sentence):
    print(word, "found!")
else:

    print(word, "not found!")

Ausgang:

#Python 3.x
Python found!
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python String