Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich mit Python das N-te Wort in einer bestimmten Zeichenfolge?

Wie erhalte ich mit Python das N-te Wort in einer bestimmten Zeichenfolge?

WBOY
WBOYnach vorne
2023-08-29 19:41:031241Durchsuche

Wie erhalte ich mit Python das N-te Wort in einer bestimmten Zeichenfolge?

Wir können das N-te Wort in einem gegebenen String in Python mithilfe von String-Splitting, regulären Ausdrücken, der Methode split() usw. ermitteln. Das Manipulieren von Strings ist eine häufige Aufgabe in der Programmierung, und das Extrahieren bestimmter Wörter aus einem String kann besonders nützlich sein In diesem Artikel werden wir verschiedene Methoden untersuchen, um das N-te Wort aus einer bestimmten Zeichenfolge mit Python zu extrahieren.

Methode 1: String-Splitting

Bei dieser Methode wird die Zeichenfolge in eine Wortliste aufgeteilt und anhand des Index auf das gewünschte Wort zugegriffen.

Syntax

words = string.split()

Hier teilt die Methode split() die Zeichenfolge standardmäßig basierend auf Leerzeichen auf. Die resultierenden Wörter werden in der Wortliste gespeichert.

Algorithmus

  • Akzeptieren Sie die Eingabezeichenfolge und den Wert von N.

  • Verwenden Sie die Methode split(), um die Zeichenfolge in eine Liste von Wörtern aufzuteilen.

  • Greifen Sie mithilfe der Indizierung auf das N-te Wort aus der Liste zu.

  • Greifen Sie mithilfe der Indizierung auf das N-te Wort aus der Liste zu.

Beispiel

Betrachten wir die folgende Zeichenfolge: „Der schnelle braune Fuchs springt über den faulen Hund.“ Im folgenden Beispiel wird die Eingabezeichenfolge mithilfe der Methode split() in eine Liste von Wörtern aufgeteilt. Da der Wert von N 3 ist, gibt die Funktion das dritte Wort „braun“ zurück.

def get_nth_word_split(string, n):
    words = string.split()
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "The quick brown fox jumps over the lazy dog."
n = 3
print(get_nth_word_split(input_string, n))

Ausgabe

brown

Methode 2: Verwenden Sie reguläre Ausdrücke

Eine weitere Methode zum Extrahieren des N-ten Wortes besteht in der Verwendung regulärer Ausdrücke. Dieser Ansatz bietet Flexibilität bei der Handhabung verschiedener Wortmuster und Trennzeichen.

Syntax

import re
words = re.findall(pattern, string)

Verwenden Sie hier die Funktion re.findall() aus dem re-Modul, um alle Wörter aus der Eingabezeichenfolge basierend auf dem angegebenen Muster zu extrahieren. Muster werden mithilfe regulärer Ausdrücke definiert. Die extrahierten Wörter werden in der Wortliste gespeichert.

Algorithmus

  • Importieren Sie das re-Modul.

  • Akzeptieren Sie die Eingabezeichenfolge und den Wert von N.

  • Definieren Sie ein Muster für reguläre Ausdrücke, um Wörter abzugleichen.

  • Verwenden Sie die Funktion findall() aus dem re-Modul, um alle Wörter aus der Zeichenfolge zu extrahieren.

  • Greifen Sie mithilfe der Indizierung auf das N-te Wort aus der in Schritt 4 erhaltenen Liste zu.

  • Gib das N-te Wort zurück.

Beispiel

Im folgenden Beispiel wird das reguläre Ausdrucksmuster „w+“ verwendet, um alle Wörter in der Eingabezeichenfolge abzugleichen. Die Funktion findall() extrahiert alle Wörter und speichert sie in einer Liste. Da der Wert von N 4 ist, gibt die Funktion das vierte Wort „Sprünge“ zurück.

import re

def get_nth_word_regex(string, n):
    pattern = r'\w+'
    words = re.findall(pattern, string)
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "The quick brown fox jumps over the lazy dog."
n = 4
print(get_nth_word_regex(input_string, n))

Ausgabe

fox

Methode 3: Verwenden Sie die Methode split() und ein benutzerdefiniertes Trennzeichen

In einigen Fällen kann die Zeichenfolge ein anderes Trennzeichen als Leerzeichen haben. In solchen Szenarien können wir die erste Methode ändern, indem wir ein benutzerdefiniertes Trennzeichen zum Teilen der Zeichenfolge angeben.

Syntax

words = string.split(delimiter)

Hier wird die Methode split() verwendet, um die Eingabezeichenfolge basierend auf einem benutzerdefinierten Trennzeichen in eine Liste von Wörtern aufzuteilen. Das Trennzeichen wird als Parameter an die Methode split() übergeben. Die geteilten Wörter werden in der Wortliste gespeichert.

Algorithmus

  • Übernehmen Sie die Eingabezeichenfolge, das Trennzeichen und den Wert von N.

  • Teilen Sie die Zeichenfolge mit der Methode split() und einem benutzerdefinierten Trennzeichen in eine Liste von Wörtern auf.

  • Greifen Sie mithilfe der Indizierung auf das N-te Wort aus der Liste zu

  • Gib das N-te Wort zurück.

Beispiel

Im folgenden Beispiel wird die Zeichenfolge mithilfe eines benutzerdefinierten Trennzeichens (Komma ",") in Wörter aufgeteilt. Das zweite Wort „Banane“ wird extrahiert und zurückgegeben, da es einem Wert von N von 2 entspricht.

def get_nth_word_custom_delimiter(string, delimiter, n):
    words = string.split(delimiter)
    if 1 <= n <= len(words):
        return words[n-1]
    else:
        return "Invalid value of N."

# Test the function
input_string = "apple,banana,orange,mango"
delimiter = ","
n = 2
print(get_nth_word_custom_delimiter(input_string, delimiter, n))

Ausgabe

banana

Fazit

In diesem Artikel haben wir besprochen, wie man das n-te Wort in einer bestimmten Zeichenfolge mithilfe der Aufteilung der Zeichenfolge, der Verwendung regulärer Ausdrücke und der Aufteilungsmethode mit benutzerdefiniertem Trennzeichen erhält. Jede Methode bietet Flexibilität basierend auf den Anforderungen der Aufgabe. Durch das Verständnis und die Implementierung dieser Techniken können Sie bestimmte Wörter effizient aus Zeichenfolgen in Ihrem Python-Programm extrahieren.

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit Python das N-te Wort in einer bestimmten Zeichenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen