Phyton - Letztes Wort im String finden?
Wie kann man mit Phyton Ausgeben, ob es wahr / falsch ist, dass das letzte Wort '' Zeichenkette bzw. das erste Wort ''Ich'' ist.
Beispiel: s = ''Ich bin eine Zeichenkette''
1 Antwort
s.split(" ")[-1] == "Ich"
Erklärung:
s ist dein String - in dem Fall dein Satz
s.split(" ") trennt den String jeweils an den " " und speichert ihn in ein Array - jedes Feld beinhaltet in dem Fall ein Wort
s.split(" ")[-1] greift auf das letzte Element im so entstandenen Array zu
das stimmt. in dem Fall kann man einen der folgenden zwei Ansätze nutzen:
# Ansatz 1
s.endswith(" Ich")
# Ansatz 2
print(s[-4:] == " Ich")
das könnte man noch weiter ausbauen, dass z.B. auch klein geschriebene "Ich" erkannt werden, aber das alles war am Ende nicht die Frage
Ausser es geht um einen Satz wie "Hier arbeitet nur einer: Ich." ^^
In dem Fall wäre das letzte Wort "Ich", aber die letzten drei Zeichen "ch."
Um auch diese Fälle zu behandeln wäre es wohl am "einfachsten", am Ende (bzw. am Anfang) des Satzes alles zu entfernen, was nicht als Wortbestandteil definiert ist (wobei auch das nicht ganz einfach ist, wenn man z.B. auch mit japanischen, hebräischen, usw. Texten arbeitet), dann vom Ende (bzw. Anfang) aus das nächste nicht-Wort-Zeichen zu suchen und alles was dazwischen liegt für den Abgleich zu verwenden.
Es wird immer irgendwelche Sonderfälle geben und jede Lösung schafft neue Probleme. Ich denke aber, dass das ganze über die Frage hinausgeht
Und fürs erste Wort:
Wobei das "splitten" anhand von Leerzeichen nicht immer funktioniert.
Da wären dann z.B. "Sonderfälle" wie "Leerzeichen nach dem Komma vergessen", Tabulatoren, Zeilenumbrüche, usw.