Python String find () -metod med exempel

Innehållsförteckning:

Anonim

Vad är Python String find ()?

Python-strängsökning () är en funktion som finns i Python-biblioteket för att hitta index för den första förekomsten av en substring från den givna strängen. Funktionen strängsökning () kommer att returnera -1 istället för att kasta ett undantag om den angivna strängen inte finns i den givna strängen.

I den här Python-strängens hitta () metodhandledning lär du dig:

  • Vad är Python String find ()?
  • Syntax för Python-strängsökning ()
  • Exempel på find () -metod med standardvärden
  • Exempel på find () med startargument
  • Exempel på find () med start- och slutargument
  • Exempel på find () -metod För att hitta positionen för en given substring i en sträng
  • Python-sträng rfind ()
  • Python-strängindex ()
  • För att hitta den totala förekomsten av en substring

Syntax för Python-strängsökning ()

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

string.find(substring,start,end)

Parametrar för find () -metoden

Här är tre parametrar för funktionen String find () i Python:
  • substring : Den substring du vill söka i den angivna strängen.
  • start : (valfritt) Startvärdet varifrån sökningen efter substring börjar. Som standard är det 0.
  • slut : (valfritt) Slutvärdet där sökningen efter delsträng slutar. Som standard är värdet längden på strängen.

Exempel på find () -metod med standardvärden

Parametrarna som skickas till Python find () -metoden är substring, dvs. strängen du vill söka efter, starta och sluta. Startvärdet är 0 som standard och slutvärdet är strängens längd.

I det här exemplet använder vi metoden hitta () i Python med standardvärden.

Metoden find () söker efter substringen och ger positionen för den allra första förekomsten av substringen. Om substringen nu finns flera gånger i den angivna strängen, kommer den fortfarande att returnera indexet eller positionen för den första.

Exempel:

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 strängen i den angivna strängen och ange startpositionen, varifrån sökningen börjar. Startparametern kan användas för samma.

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

Exempel:

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 start- och slutparametern försöker vi begränsa sökningen istället för att söka i hela strängen.

Exempel:

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 substring i en sträng

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

Exempel:

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: 27The position of Guru99 is at: -1

Python-sträng rfind ()

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

I exemplet nedan har vi en sträng "Meet Guru99 Tutorials Site. Bästa webbplats för Python Tutorials!" och kommer att försöka hitta positionen för substring 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() : 12The position of Tutorials using rfind() : 48

Utgången visar att find () ger indexet för de allra första Tutorials-understrängarna som det får, och rfind () ger det sista indexet för Tutorials för substring.

Python-strängindex ()

Python-strängindex () är en funktion som ger dig positionen för understrängen precis som find (). Den enda skillnaden mellan de två är att index () kastar ett undantag om substringen 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() : 12The 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 understrä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() : -1Traceback (most recent call last):File "task1.py", line 3, in 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 substring "test". Substringen finns inte i den givna strängen, och med hjälp av find () får vi positionen som -1, men för index (), kastar den ett fel som visas ovan.

För att hitta den totala förekomsten av en substring

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

Variabler startIndex och antal initialiseras till 0. Inuti för -loop kommer att kontrollera om understrängen finns i strängen med hjälp av find () och startIndex som 0.

Värdet som returneras från Sök () om inte -1, uppdaterar startIndex till index där strängen finns och ökar också räknevärdet.

Här är arbetsexemplet:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Produktion:

The total count of substring test is: 6

Sammanfattning

  • Python string find () -metoden hjälper till att hitta index för den första förekomsten av substringen i den angivna strängen. Det kommer att returnera -1 om understrängen inte är närvarande.
  • Parametrarna som skickas till Python find substring-metoden är substring, dvs. strängen du vill söka efter, starta och sluta. Startvärdet är 0 som standard och slutvärdet är strängens längd.
  • Du kan söka i strängen i den angivna strängen och ange startpositionen, varifrån sökningen börjar. Startparametern kan användas för samma.
  • Med start- och slutparametern försöker vi begränsa sökningen istället för att söka i hela strängen.
  • Python-funktionen rfind () liknar funktionen find () med den enda skillnaden är att rfind () ger det högsta indexet för den angivna understrängen och find () ger det lägsta dvs det allra första indexet. Både rfind () och find () kommer att returnera -1 om substringen inte finns.
  • Python-strängindex () är ännu en funktion som ger dig positionen för understrängen precis som find (). Den enda skillnaden mellan de två är att index () kastar ett undantag om substringen inte finns i strängen och find () kommer att returnera -1.
  • Vi kan använda find () för att hitta räkningen av den totala förekomsten av en substring i en given sträng.