¿Qué es Python String find ()?
Python String find () es una función disponible en la biblioteca de Python para encontrar el índice de la primera aparición de una subcadena de la cadena dada. La función string find () devolverá -1 en lugar de lanzar una excepción, si la subcadena especificada no está presente en la cadena dada.
En este tutorial del método find () de cadenas de Python, aprenderá:
- ¿Qué es Python String find ()?
- Sintaxis de la cadena de Python find ()
- Ejemplo de método find () con valores predeterminados
- Ejemplo de find () usando el argumento de inicio
- Ejemplo de find () usando argumentos de inicio y fin
- Ejemplo del método find () Para encontrar la posición de una subcadena dada en una cadena
- Cadena de Python rfind ()
- Índice de cadena de Python ()
- Para encontrar la ocurrencia total de una subcadena
Sintaxis de la cadena de Python find ()
La sintaxis básica de la función find () de Python es la siguiente:
string.find(substring,start,end)
Parámetros para el método find ()
Aquí, hay tres parámetros de la función String find () en Python:- subcadena : la subcadena que desea buscar en la cadena dada.
- start : (opcional) El valor de inicio desde donde comenzará la búsqueda de la subcadena. Por defecto, es 0.
- end : (opcional) El valor final donde terminará la búsqueda de la subcadena. De forma predeterminada, el valor es la longitud de la cadena.
Ejemplo de método find () con valores predeterminados
Los parámetros pasados al método find () de Python son subcadenas, es decir, la cadena que desea buscar, comenzar y finalizar. El valor inicial es 0 de forma predeterminada y el valor final es la longitud de la cadena.
En este ejemplo, usaremos el método find () en Python con valores predeterminados.
El método find () buscará la subcadena y dará la posición de la primera aparición de la subcadena. Ahora, si la subcadena está presente varias veces en la cadena dada, todavía le devolverá el índice o la posición de la primera.
Ejemplo:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials"))
Producción:
The position of Tutorials is at: 12
Ejemplo de find () usando el argumento de inicio
Puede buscar la subcadena en la cadena dada y especificar la posición de inicio, desde donde comenzará la búsqueda. El parámetro de inicio se puede utilizar para lo mismo.
El ejemplo especificará la posición inicial como 15, y el método find () en Python comenzará la búsqueda desde la posición 15. Aquí, la posición final será la longitud de la cadena y buscará hasta el final de la cadena desde 15 posiciones. adelante.
Ejemplo:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Producción:
The position of Tutorials is at 48
Ejemplo de find () usando argumentos de inicio y fin
Usando el parámetro de inicio y fin, intentaremos limitar la búsqueda, en lugar de buscar en toda la cadena.
Ejemplo:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Producción:
The position of Tutorials is at 12
Ejemplo del método find () Para encontrar la posición de una subcadena dada en una cadena
Sabemos que find () nos ayuda a encontrar el índice de la primera aparición de subcadena. Devuelve -1 si la subcadena no está presente en la cadena dada. El siguiente ejemplo muestra el índice cuando la cadena está presente y -1 cuando no encontramos la subcadena que estamos buscando.
Ejemplo:
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))
Producción:
The position of Best site is at: 27The position of Guru99 is at: -1
Cadena de Python rfind ()
La función de Python rfind () es similar a la función find () con la única diferencia es que rfind () da el índice más alto para la subcadena dada y find () da el más bajo, es decir, el primer índice. Tanto rfind () como find () devolverán -1 si la subcadena no está presente.
En el siguiente ejemplo, tenemos una cadena "Sitio de tutoriales de Meet Guru99. ¡El mejor sitio para tutoriales de Python!" e intentará encontrar la posición de los tutoriales de subcadenas usando find () y rfind (). La aparición de tutoriales en la cadena es dos veces.
A continuación se muestra un ejemplo en el que se utilizan tanto find () como rfind ().
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"))
Producción:
The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48
La salida muestra que find () proporciona el índice de la primera subcadena de tutoriales que obtiene, y rfind () proporciona el último índice de subcadena de tutoriales.
Índice de cadena de Python ()
La cadena de Python index () es una función que le dará la posición de la subcadena dada como find (). La única diferencia entre los dos es que index () lanzará una excepción si la subcadena no está presente en la cadena y find () devolverá -1.
Aquí hay un ejemplo funcional que muestra el comportamiento de index () y 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"))
Producción:
The position of Tutorials using find() : 12The position of Tutorials using index() : 12
Obtenemos la misma posición tanto para find () como para index (). Veamos un ejemplo cuando la subcadena dada no está presente en la cadena.
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"))
Producción:
The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, inprint("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found
En el ejemplo anterior, estamos tratando de encontrar la posición de la subcadena "prueba". La subcadena no está presente en la cadena dada y, por lo tanto, al usar find (), obtenemos la posición como -1, pero para index (), arroja un error como se muestra arriba.
Para encontrar la ocurrencia total de una subcadena
Para encontrar el número total de veces que ha ocurrido la subcadena en la cadena dada, usaremos la función find () en Python. Recorrerá la cadena usando for-loop desde 0 hasta el final de la cadena. Hará uso del parámetro startIndex para find ().
Las variables startIndex y count se inicializarán a 0. Inside for -loop comprobará si la subcadena está presente dentro de la cadena dada usando find () y startIndex como 0.
El valor devuelto por find () si no es -1, actualizará startIndex al índice donde se encuentra la cadena y también incrementará el valor de recuento.
Aquí está el ejemplo de trabajo:
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 )
Producción:
The total count of substring test is: 6
Resumen
- El método de Python string find () ayuda a encontrar el índice de la primera aparición de la subcadena en la cadena dada. Devolverá -1 si la subcadena no está presente.
- Los parámetros pasados al método de búsqueda de subcadena de Python son subcadena, es decir, la cadena que desea buscar, comenzar y finalizar. El valor inicial es 0 de forma predeterminada y el valor final es la longitud de la cadena.
- Puede buscar la subcadena en la cadena dada y especificar la posición de inicio, desde donde comenzará la búsqueda. El parámetro de inicio se puede utilizar para lo mismo.
- Usando el parámetro de inicio y fin, intentaremos limitar la búsqueda, en lugar de buscar en toda la cadena.
- La función de Python rfind () es similar a la función find () con la única diferencia es que rfind () da el índice más alto para la subcadena dada y find () da el más bajo, es decir, el primer índice. Tanto rfind () como find () devolverán -1 si la subcadena no está presente.
- La cadena de Python index () es otra función que le dará la posición de la subcadena dada como find (). La única diferencia entre los dos es que index () lanzará una excepción si la subcadena no está presente en la cadena y find () devolverá -1.
- Podemos hacer uso de find () para encontrar el recuento de la ocurrencia total de una subcadena en una cadena dada.