Python String find() Metod med exempel

Vad är Python String hitta()?

Python String hitta() är en funktion tillgänglig i Python bibliotek för att hitta indexet för den första förekomsten av en delsträng från den givna strängen. Strängen find()-funktionen returnerar -1 istället för att skapa ett undantag, om den angivna delsträngen inte finns i den givna strängen.

Syntax för Python sträng hitta()

Den grundläggande syntaxen för Python find()-funktionen är som följer:

string.find(substring,start,end)

Parametrar för metoden find().

Här är tre parametrar för funktionen String find() in Python:

  • delsträng: Den delsträng du vill söka i den givna strängen.
  • starta: (valfritt) Startvärdet där sökningen efter delsträng börjar. Som standard är det 0.
  • änden: (valfritt) Slutvärdet där sökningen efter delsträng slutar. Som standard är värdet längden på strängen.

Exempel på metoden find() med standardvärden

Parametrarna som skickas till Python find()-metoden är understräng, dvs strängen du vill söka efter, start och slut. Startvärdet är 0 som standard, och slutvärdet är längden på strängen.

I det här exemplet kommer vi att använda metoden find() in Python med standardvärden.

Metoden find() kommer att söka efter delsträngen och ge positionen för den allra första förekomsten av delsträngen. Nu, om delsträngen är närvarande flera gånger i den givna strängen, kommer den fortfarande att returnera indexet eller positionen för den första.

Exempelvis:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))

Produktion:

The position of Tutorials is at: 12

Exempel på find() med startargument

Du kan söka i delsträngen i den givna strängen och ange startpositionen, varifrån sökningen ska börja. Startparametern kan användas för detsamma.

Exemplet kommer att specificera startpositionen som 15, och find() in Python metod kommer att börja sökningen från position 15. Här kommer slutpositionen att vara längden på strängen och kommer att söka till slutet av strängen från 15 positioner och framåt.

Exempelvis:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

Produktion:

The position of Tutorials is at 48

Exempel på find() med start- och slutargument

Med hjälp av start- och slutparametern kommer vi att försöka begränsa sökningen, istället för att söka igenom hela strängen.

Exempelvis:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

Produktion:

The position of Tutorials is at 12

Exempel på find()-metod För att hitta positionen för en given delsträng i en sträng

Vi vet att find() hjälper oss att hitta indexet för den första förekomsten av delsträng. Den returnerar -1 om delsträngen inte finns i den givna strängen. Exemplet nedan visar indexet när strängen finns och -1 när vi inte hittar understrängen vi söker efter.

Exempelvis:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Best site is at:", mystring.find("Best site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Produktion:

The position of Best site is at: 27
The position of Guru99 is at: -1

Python sträng rfind()

Smakämnen Python funktionen rfind() liknar funktionen find() med den enda skillnaden är att rfind() ger det högsta indexet för den angivna delsträngen och find() ger det lägsta dvs det allra första indexet. Både rfind() och find() kommer att returnera -1 om delsträngen inte finns.

I exemplet nedan har vi en sträng "Meet Guru99 Tutorials Site. Bästa sidan för Python Tips och trix!" och kommer att försöka hitta positionen för delsträng Tutorials med hjälp av find() och rfind(). Förekomsten av självstudier i strängen är två gånger.

Här är ett exempel där både find() och rfind() används.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Produktion:

The position of Tutorials using find() :  12
The position of Tutorials using rfind() :  48

Utdatat visar att find() ger indexet för den allra första Tutorials-delsträngen som den får, och rfind() ger det sista indexet för understrängen Tutorials.

Python string index()

Smakämnen Python string index() är en funktion som ger dig positionen för delsträngen som ges precis som find(). Den enda skillnaden mellan de två är att index() ger ett undantag om delsträngen inte finns i strängen och find() kommer att returnera -1.

Här är ett fungerande exempel som visar beteendet hos index() och find().

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Produktion:

The position of Tutorials using find() :  12
The position of Tutorials using index() :  12

Vi får samma position för både find() och index(). Låt oss se ett exempel när den angivna delsträngen inte finns i strängen.

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

Produktion:

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 exemplet ovan försöker vi hitta positionen för delsträngen "test". Delsträngen finns inte i den givna strängen, och med hjälp av find() får vi positionen som -1, men för index() ger den ett fel som visas ovan.

För att hitta den totala förekomsten av en delsträng

För att hitta det totala antalet gånger delsträngen har förekommit i den givna strängen kommer vi att använda funktionen find() i Python. Går igenom strängen med for-loop från 0 till slutet av strängen. Kommer att använda startIndex-parametern för find().

Variabler startIndex och count kommer att initieras till 0. Inside for –loop kommer att kontrollera om delsträngen finns inuti strängen som ges med find() och startIndex som 0.

Värdet som returneras från find() om inte -1, kommer att uppdatera startIndex till indexet där strängen hittas och även öka räkningsvärdet.

Här är arbetsexemplet:

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 )

Produktion:

The total count of substring test is:  6

Sammanfattning

  • Smakämnen Python string find()-metoden hjälper till att hitta indexet för den första förekomsten av delsträngen i den givna strängen. Den returnerar -1 om delsträngen inte finns.
  • Parametrarna som skickas till Python find substring method är substring dvs strängen du vill söka efter, start och end. Startvärdet är 0 som standard, och slutvärdet är längden på strängen.
  • Du kan söka i delsträngen i den givna strängen och ange startpositionen, varifrån sökningen ska börja. Startparametern kan användas för detsamma.
  • Med hjälp av start- och slutparametern kommer vi att försöka begränsa sökningen, istället för att söka igenom hela strängen.
  • Smakämnen Python fungera rfind() liknar find()-funktionen med den enda skillnaden är att rfind() ger det högsta indexet för den angivna delsträngen och find() ger det lägsta dvs det allra första indexet. Både rfind() och find() kommer att returnera -1 om delsträngen inte finns.
  • Smakämnen Python string index() är ytterligare en funktion som ger dig positionen för delsträngen som ges precis som find(). Den enda skillnaden mellan de två är att index() ger ett undantag om delsträngen inte finns i strängen och find() kommer att returnera -1.
  • Vi kan använda find() för att hitta antalet av den totala förekomsten av en delsträng i en given sträng.

" Lära sig mer om Python String split()