586 Stimmen

Wie findet man alle Vorkommen einer Teilzeichenkette?

Python hat string.find() y string.rfind() um den Index einer Teilzeichenkette in einer Zeichenkette zu ermitteln.

Ich frage mich, ob es so etwas gibt wie string.find_all() die alle gefundenen Indizes zurückgeben kann (nicht nur den ersten vom Anfang oder den ersten vom Ende).

Zum Beispiel:

string = "test test test test"

print string.find('test') # 0
print string.rfind('test') # 15

#this is the goal
print string.find_all('test') # [0,5,10,15]

20 Stimmen

Was sollte 'ttt'.find_all('tt') zurückkehren?

4 Stimmen

Sollte er '0' zurückgeben. Natürlich muss es in einer perfekten Welt auch eine 'ttt'.rfind_all('tt') was '1' ergeben sollte.

5 Stimmen

Reine Anfragen zum Schreiben von Code sind auf Stack Overflow tabu - wir erwarten, dass sich die Fragen hier auf spezifisch Programmierprobleme - aber wir helfen Ihnen gerne, sie selbst zu schreiben! Sagen Sie es uns was Sie ausprobiert haben und wo Sie feststecken. Dies wird uns auch helfen, Ihre Frage besser zu beantworten.

-1voto

Shiva Gupta Punkte 21

Probieren Sie es aus, bei mir hat es funktioniert!

x=input('enter the string')
y=input('enter the substring')
z,r=x.find(y),x.rfind(y)
while z!=r:
        print(z,r,end=' ')
        z=z+len(y)
        r=r-len(y)
        z,r=x.find(y,z,r),x.rfind(y,z,r)

-3voto

RaySaraiva Punkte 373

Sie können es einfach verwenden:

string.count('test')!

https://www.programiz.com/python-programming/methods/string/count

Zum Wohl!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X