Python Método String find() con ejemplos

⚡ Resumen inteligente

Python El método `string find()` es una función integrada que devuelve el índice de la primera aparición de una subcadena dentro de una cadena. Devuelve -1 cuando la subcadena no está presente, evitando así excepciones.

  • 🔍 Sintaxis: La función find() requiere una subcadena, además de índices de inicio y fin opcionales para limitar el rango de búsqueda.
  • 🎯 Primer partido: find() devuelve el índice más bajo de la primera aparición, escaneando de izquierda a derecha.
  • ➖ Extraviado: La función find() devuelve -1 en lugar de generar un error cuando la subcadena está ausente.
  • 🔁 rencontrar(): El método rfind() devuelve el índice más alto, buscando desde el lado derecho.
  • ⚠️ índice(): El método index() se comporta como find() pero genera un ValueError cuando falta la subcadena.
  • 🤖 Asistencia de IA: Los asistentes de codificación de IA generan la lógica find() y potencian la búsqueda de subcadenas en los flujos de trabajo de texto de PLN.

Python búsqueda de cadena()

¿Qué es Python ¿Buscar cadenas ()?

Python búsqueda de cadena() es una función disponible en el Python biblioteca para encontrar el índice de la primera aparición de una subcadena dentro de una cadena dada. La función find() devuelve -1 en lugar de lanzar una excepción cuando la subcadena especificada no está presente en la cadena dada. Es una de las PythonEl más utilizado métodos de cadena para localizar texto.

Sintaxis de Python búsqueda de cadena()

La sintaxis básica de la Python La función buscar() es la siguiente:

string.find(substring,start,end)

Parámetros para el método find()

Aquí están los tres parámetros de la función 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 la subcadena. Por defecto, es 0.
  • final: (opcional) El valor final donde terminará la búsqueda de la subcadena. Por defecto, el valor es la longitud de la cadena.

Ejemplo de método find() con valores predeterminados

Los parámetros pasados ​​a la Python El método find() requiere la subcadena, es decir, la cadena que se desea buscar, junto con un inicio y un final. El valor inicial es 0 por defecto, y el valor final es la longitud de la cadena.

En este ejemplo, utilizaremos el método find() en Python con valores predeterminados.

El método find() buscará la subcadena y devolverá la posición de su primera aparición. Si la subcadena aparece varias veces en la cadena dada, seguirá devolviendo 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

Puedes buscar la subcadena dentro de la cadena proporcionada y especificar la posición inicial desde donde comenzará la búsqueda. El parámetro `start` se puede utilizar para este propósito.

El siguiente ejemplo especifica la posición inicial como 20 y el método find() en Python La búsqueda comenzará desde la posición 20. En este caso, la posición final será la longitud de la cadena, por lo que la búsqueda se realizará hasta el final de la cadena a partir de la posición 20.

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, podemos 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 dada en una cadena.

Sabemos que la función `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 siguiente ejemplo muestra el índice cuando la cadena está presente y -1 cuando no se encuentra la subcadena que buscamos.

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()

El Python La función rfind() es similar a la función find(), con la única diferencia de que rfind() devuelve el índice más alto de la subcadena dada, mientras que find() devuelve el más bajo, es decir, el primer índice. Tanto rfind() como find() devuelven -1 si la subcadena no está presente.

En el ejemplo siguiente, tenemos una cadena “Meet GuruSitio de 99 tutoriales. El mejor sitio para Python Tutoriales!” y tratará de encontrar la posición de la subcadena Tutorials usando find() y rfind(). La subcadena Tutorials aparece dos veces en la cadena.

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

La salida muestra que find() devuelve el índice de la primera subcadena Tutorials que encuentra, mientras que rfind() devuelve el último índice de la subcadena Tutorials.

Python índice de cadena()

El Python La función `index()` devuelve la posición de una subcadena dada, al igual que `find()`. La única diferencia entre ambas es que `index()` lanza una excepción si la subcadena no está presente en la cadena, mientras que `find()` devuelve -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 "test". La subcadena no está presente en la cadena dada, por lo que al usar find() obtenemos la posición -1, pero al usar index() se produce un error, como se muestra arriba.

Para encontrar la aparición total de una subcadena

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

Las variables startIndex y count se inicializarán a 0. Dentro del bucle for, comprobaremos si la subcadena está presente dentro de la cadena dada usando find() con 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 count.

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

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

Preguntas Frecuentes

Sí. find() coincide exactamente con la subcadena, por lo que “Hello”.find(“h”) devuelve -1 mientras que “Hello”.find(“H”) devuelve 0. Convierta primero la cadena con lower() o upper() cuando necesite una búsqueda que no distinga entre mayúsculas y minúsculas.

El operador `in` devuelve solo `True` o `False` para indicar si existe una subcadena. `find()` va más allá y devuelve el índice exacto de la primera coincidencia, o -1 si la subcadena no existe.

Sí. find() acepta índices de inicio y fin negativos, que cuentan desde el final de la cadena. Por ejemplo, “Guru99”.find(“9”, -2) busca solo los dos últimos caracteres y devuelve su posición.

El método str.find() localiza una coincidencia a la vez. Para todas las coincidencias en una sola llamada, utilice el módulo re: re.findall() devuelve cada subcadena coincidente, y re.finditer() genera objetos de coincidencia con cada posición inicial.

El método `find()` solo admite cadenas de texto, por lo que al usarlo en una lista se produce un error `AttributeError`. Para localizar un elemento en una lista o tupla, utilice el método `index()`, que devuelve la posición de la primera coincidencia.

Sí. Para una búsqueda simple de subcadenas, la función find() está implementada en C y se ejecuta más rápido que compilar una expresión regular. Utilice el módulo re solo cuando necesite patrones, comodines o coincidencias múltiples.

En aprendizaje automático y procesamiento del lenguaje natural (PLN), la función `find()` localiza palabras clave, etiquetas o delimitadores durante la limpieza y tokenización del texto. Detectar la presencia de una subcadena, o su ubicación, ayuda a generar características y analizar las entradas del modelo.

Sí. GitHub Copilot autocompleta las llamadas a find(), rfind() e index() a partir de un breve comentario que describa tu objetivo. Las herramientas de IA de Agentic van más allá: escriben la lógica de búsqueda, añaden argumentos de inicio y fin, y ejecutan las pruebas.

Resumir este post con: