Python String find() Metode med eksempler
⚡ Smart opsummering
Python string find() er en indbygget metode, der returnerer indekset for den første forekomst af en delstreng i en streng. Den returnerer -1, når delstrengen ikke er til stede, og undgår dermed undtagelser.
Hvad er Python Streng find()?
Python Streng find() er en funktion tilgængelig i Python bibliotek til at finde indekset for den første forekomst af en delstreng inden for en given streng. Funktionen find() returnerer -1 i stedet for at udløse en undtagelse, når den angivne delstreng ikke er til stede i den givne streng. Det er en af Pythonmest brugte strengmetoder til at finde tekst.
Syntaks af Python string find()
Den grundlæggende syntaks for Python find()-funktionen er som følger:
string.find(substring,start,end)
Parametre for find() metoden
Her er de tre parametre for find()-funktionen i Python:
- understrengDen delstreng, du vil søge efter i den givne streng.
- starte: (valgfrit) Startværdien, hvorfra søgningen efter delstrengen starter. Som standard er den 0.
- ende: (valgfrit) Den slutværdi, hvor søgningen efter delstrengen slutter. Som standard er værdien strengens længde.
Eksempel på find()-metode med standardværdier
Parametrene, der sendes til Python find()-metoden er delstrengen, dvs. den streng, du vil søge efter, plus start og slut. Startværdien er som standard 0, og slutværdien er strengens længde.
I dette eksempel bruger vi find()-metoden i Python med standardværdier.
Metoden find() søger efter delstrengen og angiver positionen for den allerførste forekomst af delstrengen. Hvis delstrengen forekommer flere gange i den givne streng, returnerer den stadig indekset eller positionen for den første.
Eksempel:
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))
Output:
The position of Tutorials is at: 12
Eksempel på find() ved brug af startargument
Du kan søge efter delstrengen i den givne streng og angive startpositionen, hvorfra søgningen skal begynde. Startparameteren kan bruges til dette formål.
Eksemplet nedenfor angiver startpositionen som 20, og find()-metoden i Python vil begynde søgningen fra position 20. Her vil slutpositionen være strengens længde, så den søger til slutningen af strengen fra position 20 og fremefter.
Eksempel:
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Output:
The position of Tutorials is at 48
Eksempel på find() ved brug af start- og slutargumenter
Ved at bruge start- og slutparametrene kan vi begrænse søgningen i stedet for at søge i hele strengen.
Eksempel:
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Output:
The position of Tutorials is at 12
Eksempel på find()-metoden til at finde positionen af en given delstreng i en streng
Vi ved, at find() hjælper os med at finde indekset for den første forekomst af en delstreng. Den returnerer -1, hvis delstrengen ikke findes i den givne streng. Eksemplet nedenfor viser indekset, når strengen findes, og -1, når den delstreng, vi søger efter, ikke findes.
Eksempel:
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Bedste site is at:", mystring.find("Bedste site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Output:
The position of Bedste site is at: 27 The position of Guru99 is at: -1
Python streng rfind()
Python Funktionen rfind() minder om find()-funktionen, med den eneste forskel at rfind() giver det højeste indeks for den givne delstreng, mens find() giver det laveste, det vil sige det allerførste indeks. Både rfind() og find() returnerer -1 hvis delstrengen ikke er til stede.
I eksemplet nedenfor har vi en streng "Mød Guru99 Tutorials websted. Bedste site for Python Vejledninger!” og vil forsøge at finde positionen af delstrengen Tutorials ved hjælp af find() og rfind(). Delstrengen Tutorials forekommer to gange i strengen.
Her er et eksempel, hvor både find() og rfind() bruges.
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Output:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
Outputtet viser, at find() giver indekset for den allerførste Tutorials-understreng, den finder, mens rfind() giver det sidste indeks for understrengen Tutorials.
Python string index()
Python `string index()` er en funktion, der giver dig positionen af den givne delstreng, ligesom `find().` Den eneste forskel mellem de to er, at `index()` kaster en undtagelse, hvis delstrengen ikke er til stede i strengen, mens `find()` returnerer -1.
Her er et fungerende eksempel, der viser adfærden af index() og find().
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Output:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Vi får den samme position for både find() og index(). Lad os se et eksempel, hvor den givne delstreng ikke er til stede i strengen.
mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))
Output:
The position of Tutorials using find() : -1
Traceback (most recent call last):
File "task1.py", line 3, in <module>
print("The position of Tutorials using index() : ", mystring.index("test"))
ValueError: substring not found
I ovenstående eksempel forsøger vi at finde positionen af delstrengen "test". Delstrengen findes ikke i den givne streng, så ved at bruge find() får vi positionen som -1, men for index() kaster det en fejl, som vist ovenfor.
For at finde den samlede forekomst af en understreng
For at finde det samlede antal gange en delstreng er forekommet i den givne streng, bruger vi find()-funktionen i PythonVi vil gennemløbe strengen ved hjælp af en for-løkke fra 0 til slutningen af strengen, idet vi bruger startIndex-parameteren til find().
Variablerne startIndex og count initialiseres til 0. Inde i for-løkken kontrollerer vi, om delstrengen er til stede i den givne streng, ved hjælp af find() med startIndex som 0.
Værdien, der returneres fra find(), vil, hvis ikke være -1, opdatere startIndex til det indeks, hvor strengen findes, og vil også øge count-værdien.
Her er arbejdseksemplet:
my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
k = my_string.find('test', startIndex)
if(k != -1):
startIndex = k+1
count += 1
k = 0
print("The total count of substring test is: ", count )
Output:
The total count of substring test is: 6
" Lær mere om Python String split()

