Ich habe eine Zeichenfolge und einen beliebigen Index in die Zeichenfolge. Ich möchte das erste Vorkommen eines Teilstrings vor dem Index finden.Python Reverse Finden in String
Ein Beispiel: Ich möchte mit Hilfe des Index und str.rfind()
s = "Hello, I am 12! I like plankton but I don't like Baseball."
index = 34 #points to the 't' in 'but'
index_of_2nd_I = s.rfind('I', index)
#returns = 36 and not 16
Jetzt würde ich erwarten rfind() den Index des 2. ich finden den Index des zweiten I (16), aber es zurück zurück 36. Nachdem ich in den Dokumenten nachgeschlagen habe, habe ich herausgefunden, dass rfind nicht für einen umgekehrten Fund steht.
Ich bin völlig neu in Python, also gibt es eine eingebaute Lösung zum Reverse-Finden? Wie die Zeichenfolge mit etwas Python [:: - 1] Magie umzukehren und Fund usw. zu verwenden? Oder muss ich das Char-Zeichen um den String durch die Zeichenfolge iterieren?
Wenn jsz wirklich 12 ist, dann ist er/sie ein helles Kind ;-) – sidewinderguy
Ja, der Anfang der Reverse-Suche ist nicht der rechte Punkt. Ich finde (Wortspiel beabsichtigt) das "r" in "rfind" irreführend. Es ist weniger zweideutig, 's.rfind (s, start, end)' zu sehen, wenn das * letzte * Vorkommen in 's [start: end]' zurückgegeben wird. – YvesgereY