Wörter in Strings in Python zählen

Elsie Dela Pena 30 Januar 2023
  1. Verwenden Sie die Methoden split() und len(), um Wörter in Python-Strings zu zählen
  2. Verwenden Sie das RegEx-Modul, um Wörter in Python-Strings zu zählen
  3. Verwenden Sie die Methoden sum(), strip() und split(), um Wörter in Python-Strings zu zählen
  4. Verwenden Sie die Methode count(), um Wörter in Python zu zählen String Python
Wörter in Strings in Python zählen

In diesem Tutorial wird das Zählen von Wörtern in String-Python vorgestellt.

Verwenden Sie die Methoden split() und len(), um Wörter in Python-Strings zu zählen

split() ist eine in Python integrierte Methode, die die Wörter innerhalb einer Zeichenkette durch ein bestimmtes Trennzeichen trennt und ein Array von Strings zurückgibt. Diese Methode akzeptiert höchstens zwei Parameter als Argument:

  • separator (optional) - Es dient als Trennzeichen (z. B. Kommas, Semikolon, Anführungszeichen oder Schrägstriche). Gibt die Grenze an, an der in der Zeichenkette getrennt werden soll. Der standardmäßige separator ist ein beliebiger Whitespace (Leerzeichen, Newline, Tab usw.), wenn der separator nicht angegeben ist.
  • maxsplit (optional) - Definiert die maximale Anzahl von Splits. Der Standardwert von maxsplit ist, falls nicht definiert, -1, was bedeutet, dass er keine Grenzen hat und die Zeichenkette in mehrere Abschnitte aufteilt.

Syntax von split():

str.split(separator, maxsplit)

len() ist ebenfalls eine in Python integrierte Methode, die die Anzahl der Strings in einem Array zurückgibt oder die Länge der Elemente in einem Objekt zählt. Diese Methode akzeptiert nur einen Parameter: einen String, Bytes, eine Liste, ein Objekt, eine Menge oder eine Sammlung. Es wird eine TypeError-Ausnahme ausgelöst, wenn das Argument fehlt oder ungültig ist.

Syntax von len():

len(s)

Sehen wir uns an, wie die Methoden split() und len() die Wörter in einem String zählen.

Beispiel 1: Keine Parameter

# initialize string
text = "The quick brown fox jumps over the lazy dog"

# default separator: space
result = len(text.split())

print("There are " + str(result) + " words.")

Ausgabe:

There are 9 words.

Beispiel 2: Mit dem Parameter separator

# initialize string
bucket_list = "Japan, Singapore, Maldives, Europe, Italy, Korea"

# comma delimiter
result = len(bucket_list.split(","))

# Prints an array of strings
print(bucket_list.split(","))

print("There are " + str(result) + " words.")

Ausgabe:

['Japan', ' Singapore', ' Maldives', ' Europe', ' Italy', ' Korea']
There are 6 words.

Die Methode split() gibt eine neue Liste von Strings zurück, und die Methode len() zählt die Strings innerhalb der Liste.

Beispiel 3: Mit den Parametern separator und maxsplit

# initialize string
bucket_list = "Japan, Singapore, Maldives, Europe, Italy, Korea"

# comma delimiter
result = len(bucket_list.split(",", 3))

# Prints an array of strings
print(bucket_list.split(",", 3))

print("There are " + str(result) + " words.")

Ausgabe:

['Japan', ' Singapore', ' Maldives', ' Europe, Italy, Korea']
There are 4 words.

maxsplit teilt nur die ersten drei Kommas in der bucket_list. Wenn Sie maxsplit setzen, enthält die Liste ein maxsplit+1-Element.

Ausgabe:

['Japan', ' Singapore', ' Maldives, Europe, Italy, Korea']
There are 3 words.

Die Methode split() zerlegt grosse Strings in kleinere. Daher basiert das Zählen von Wörtern im String-Array nicht genau auf den Wörtern, sondern darauf, wie das Trennzeichen definiert ist.

Verwenden Sie das RegEx-Modul, um Wörter in Python-Strings zu zählen

Regulärer Ausdruck, kurz regex oder regexp, ist ein sehr mächtiges Werkzeug zum Suchen und Bearbeiten von TextZeichenketten; Dies kann zur Datenvorverarbeitung, zu Validierungszwecken, zum Suchen eines Musters in einer TextZeichenkette usw. verwendet werden. Regex kann auch beim Zählen von Wörtern in einer TextZeichenkette in Szenarien helfen, in denen Satzzeichen oder Sonderzeichen enthalten sind, die nicht benötigt werden. Regex ist ein in Python eingebautes Paket, daher müssen wir nur das Paket re importieren, um es zu verwenden.

# import regex module
import re

# initialize string
text = "Python !! is the be1st $$             programming language @"

# using regex findall()
result = len(re.findall(r"\w+", text))

print("There are " + str(result) + " words.")

Ausgabe:

There are 6 words.

Verwenden Sie die Methoden sum(), strip() und split(), um Wörter in Python-Strings zu zählen

Dieser Ansatz zählt die Wörter, ohne Regex zu verwenden. sum(), strip() und split() sind alle in Python eingebaute Methoden. Wir werden jede Methode und ihre Funktionen kurz besprechen.

Die Methode sum() addiert die Items von links nach rechts und gibt die Summe zurück. Die Methode benötigt zwei Parameter:

  • iterable (erforderlich) - ein String, eine Liste, ein Tupel usw. zum Addieren. Das sollten Zahlen sein.
  • start (optional) - Eine Zahl, die der Summe oder dem Rückgabewert der Methode hinzugefügt wird.

Syntax von sum():

sum(iterable, start)

Die nächste ist die Methode strip(), die eine Kopie des Strings zurückgibt, die sowohl die führenden als auch die nachgestellten Leerzeichen entfernt, wenn kein Argument vorhanden ist; Andernfalls wird die im Argument definierte Zeichenkette entfernt.

  • chars (optional) - gibt die Zeichenkette an, die aus dem linken und rechten Teil des Textes entfernt werden soll.

Syntax von string.strip():

string.strip(chars)

Schließlich wurde die Methode split() bereits vor diesem Ansatz diskutiert.

Lassen Sie uns nun diese Methoden zusammen verwenden, um Wörter in einer Zeichenkette zu zählen. Zuerst müssen wir den string, ein in Python eingebautes Modul, importieren, bevor wir seine Funktionalitäten verwenden können.

import string

# initialize string
text = "Python !! is the be1st $$             programming language @"

# using the sum(), strip(), split() methods
result = sum([i.strip(string.punctuation).isalpha() for i in text.split()])

print("There are " + str(result) + " words.")

Ausgabe:

There are 5 words.

Verwenden Sie die Methode count(), um Wörter in Python zu zählen String Python

Die Methode count() ist eine in Python integrierte Methode. Es benötigt drei Parameter und gibt die Anzahl der Vorkommen basierend auf der angegebenen TeilZeichenkette zurück.

  • substring (erforderlich) - ein Schlüsselwort, das in der Zeichenkette gesucht werden soll
  • start (Option) - Index, wo die Suche beginnt
  • end (Option) - Index, wo die Suche endet

Hinweis: Der Index beginnt in Python bei 0.

Syntax von count():

string.count(substring, start, end)

Diese Methode unterscheidet sich von der vorherigen Methode, da sie nicht die Gesamtzahl der in der Zeichenkette gefundenen Wörter zurückgibt, sondern die Anzahl der gefundenen Vorkommen der TeilZeichenkette. Sehen wir uns im folgenden Beispiel an, wie diese Methode funktioniert:

# initialize string
text = "Python: How to count words in string Python"
substring = "Python"

total_occurrences = text.count(substring)

print("There are " + str(total_occurrences) + " occurrences.")

Ausgabe:

There are 2 occurrences.

Bei dieser Methode spielt es keine Rolle, ob die TeilZeichenkette ein ganzes Wort, eine Phrase, ein Buchstabe oder eine beliebige Kombination von Zeichen oder Zahlen ist.

Zusammenfassend lässt sich sagen, dass Sie je nach Anwendungsfall einen dieser Ansätze wählen können. Für durch Leerzeichen getrennte Wörter können wir den einfachen Ansatz verwenden: die Funktionen split() oder len(). Um Textstrings zu filtern, um Wörter ohne Sonderzeichen zu zählen, verwenden Sie das Modul regex. Erstellen Sie ein Muster, das die Wörter zählt, die bestimmte Zeichen nicht enthalten. Verwenden Sie ohne regex die Alternative, die die Kombination der Methoden sum() + strip() + split() ist. Schließlich kann die Methode count() auch zum Zählen des spezifischen Wortes verwendet werden, das in der Zeichenkette gefunden wird.

Verwandter Artikel - Python String