Python Método String find() con ejemplos

¿Qué es Python ¿Buscar cadenas ()?

Python búsqueda de cadena() es una función disponible en Python Biblioteca para encontrar el índice de la primera ocurrencia de una subcadena de la cadena dada. La función find() de la cadena devolverá -1 en lugar de lanzar una excepción si la subcadena especificada no está presente en la cadena dada.

Sintaxis de Python búsqueda de cadena()

La sintaxis básica de Python La función buscar() 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.
  • comienzo: (opcional) El valor inicial desde donde comenzará la búsqueda de subcadena. Por defecto, es 0.
  • final: (opcional) El valor final donde finalizará la búsqueda de subcadena. De forma predeterminada, el valor es la longitud de la cadena.

Ejemplo de método find() con valores predeterminados

Los parámetros pasados ​​a Python El método find() es una 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.

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, aún así le devolverá el índice o la posición de la primera.

Ejemplo:

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

Salida:

The position of Tutorials is at: 12

Ejemplo de buscar() usando el argumento de inicio

Puede buscar la subcadena en la cadena dada y especificar la posición inicial 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 find() en Python El método 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 en adelante.

Ejemplo:

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

Salida:

The position of Tutorials is at 48

Ejemplo de find() usando argumentos de inicio y fin

Utilizando los parámetros de inicio y fin, intentaremos limitar la búsqueda, en lugar de buscar en toda la cadena.

Ejemplo:

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

Salida:

The position of Tutorials is at 12

Ejemplo del método find() Para encontrar la posición de una subcadena determinada en una cadena

Sabemos que find() nos ayuda a encontrar el índice de la primera aparición de una subcadena. Devuelve -1 si la subcadena no está presente en la cadena dada. El ejemplo siguiente muestra el índice cuando la cadena está presente y -1 cuando no encontramos la subcadena que estamos buscando.

Ejemplo:

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

Salida:

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

Python cadena rfind()

Los Python La función rfind() es similar a la función find() con la única diferencia es que rfind() proporciona el índice más alto para la subcadena dada y find() proporciona el índice 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 “Conoce el sitio de tutoriales de Guru99. Mejores sitios para Python Tutoriales!” e intentará encontrar la posición de la subcadena Tutoriales 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.Mejores site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Salida:

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

El resultado muestra que find() proporciona el índice de la primera subcadena de Tutoriales que obtiene, y rfind() proporciona el último índice de la subcadena de Tutoriales.

Python índice de cadena()

Los Python string index() es una función que le dará la posición de la subcadena dada al igual que find(). La única diferencia entre los dos es que index() generará una excepción si la subcadena no está presente en la cadena y find() devolverá -1.

A continuación se muestra un ejemplo práctico que muestra el comportamiento de index() y find().

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

Salida:

The position of Tutorials using find() :  12
The 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.Mejores site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

Salida:

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

En el ejemplo anterior, intentamos 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 aparición total de una subcadena

Para encontrar el número total de veces que ha aparecido la subcadena en la cadena dada, utilizaremos la función find() en Python. Recorrerá la cadena usando un bucle for desde 0 hasta el final de la cadena. Hará uso del parámetro startIndex para find().

Las variables startIndex y count se inicializarán en 0. Inside for –loop verificará si la subcadena está presente dentro de la cadena proporcionada 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 = 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 )

Salida:

The total count of substring test is:  6

Resumen

  • Los Python El método 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 ​​a Python El método de búsqueda de subcadena es una 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 inicial desde donde comenzará la búsqueda. El parámetro de inicio se puede utilizar para lo mismo.
  • Utilizando los parámetros de inicio y fin, intentaremos limitar la búsqueda, en lugar de buscar en toda la cadena.
  • Los Python función rfind() es similar a la función find() con la única diferencia es que rfind() proporciona el índice más alto para la subcadena dada y find() proporciona el índice más bajo, es decir, el primer índice. Tanto rfind() como find() devolverán -1 si la subcadena no está presente.
  • Los Python string index() es otra función más que le dará la posición de la subcadena dada al igual que find(). La única diferencia entre los dos es que index() generará una excepción si la subcadena no está presente en la cadena y find() devolverá -1.
  • Podemos utilizar find() para encontrar el recuento de la aparición total de una subcadena en una cadena determinada.

" Aprender más acerca de Python División de cadena()