Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas

¿Qué es String.find() en Python?

El método String.find() en Python devuelve el índice de la primera ocurrencia de una subcadena especificada dentro de una cadena. Si la subcadena no se encuentra, devuelve graciosamente -1 en lugar de lanzar una excepción, lo que lo hace una opción conveniente para búsquedas de subcadenas.

En esta guía aprenderá a usar find() efectivamente, explorar sus parámetros, compararlo con métodos relacionados e incluso contar cuántas veces aparece una subcadena.

Sintaxis del método string find() en Python

La firma del método es directa:

string.find(substring, start, end)

Parámetros

Usando find() con Valores por Defecto

Cuando no se proporciona start o end, find() escanea toda la cadena desde el principio. Devuelve el índice de la primera coincidencia o -1 si no se encuentra ninguna.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials está en:", mystring.find("Tutorials"))

Salida:

La posición de Tutorials está en: 12

Especificando un Índice de Inicio

Proporcionar un argumento start limita la búsqueda a comenzar en esa posición, extendiéndose hasta el final de la cadena.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials está en:", mystring.find("Tutorials", 20))

Salida:

La posición de Tutorials está en: 48

Definiendo un Rango de Inicio y Fin

Al suministrar tanto start como end, puede confinar la búsqueda a un slice específico de la cadena.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials está en:", mystring.find("Tutorials", 5, 30))

Salida:

La posición de Tutorials está en: 12

Encontrando Posiciones y Manejo de Subcadenas Ausentes

Aquí está cómo se comporta find() cuando la subcadena está presente y cuando está ausente.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Best site está en:", mystring.find("Best site", 5, 40))
print("La posición de Guru99 está en:", mystring.find("Guru99", 20))

Salida:

La posición de Best site está en: 27
La posición de Guru99 está en: -1

Comparando con rfind()

rfind() es similar a find() pero devuelve el índice más alto donde ocurre la subcadena. Si la subcadena no está presente, ambos métodos devuelven -1.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials usando find() : ", mystring.find("Tutorials"))
print("La posición de Tutorials usando rfind() : ", mystring.rfind("Tutorials"))

Salida:

La posición de Tutorials usando find() : 12
La posición de Tutorials usando rfind() : 48

Comparando con index()

El método index() se comporta como find() pero lanza un ValueError cuando la subcadena falta.

Ejemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials usando find() : ", mystring.find("Tutorials"))
print("La posición de Tutorials usando index() : ", mystring.index("Tutorials"))

Salida:

La posición de Tutorials usando find() : 12
La posición de Tutorials usando index() : 12

Cuando la subcadena no se encuentra:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("La posición de Tutorials usando find() : ", mystring.find("test"))
print("La posición de Tutorials usando index() : ", mystring.index("test"))

Salida:

La posición de Tutorials usando find() : -1
Traceback (most recent call last):
File "task1.py", line 3, in 
print("La posición de Tutorials usando index() : ", mystring.index("test"))
ValueError: substring not found

Contando Ocurrencias de Subcadena

Para contar cuántas veces aparece una subcadena, itere a través de la cadena y llame repetidamente a find() con un índice de inicio actualizado.

Ejemplo:

my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for _ in range(len(my_string)):
    k = my_string.find('test', startIndex)
    if k != -1:
        startIndex = k + 1
        count += 1
print("El conteo total de subcadena test es:", count)

Salida:

El conteo total de subcadena test es: 6

Conclusiones Clave

python

  1. Domine el Método strip() de Python: Guía Completa y Ejemplos Prácticos
  2. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  3. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  4. Python len(): Guía Práctica para Medir Longitud de Objetos
  5. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  6. Función round() en Python explicada con ejemplos prácticos
  7. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  8. Python timeit(): medición de tiempo de ejecución con ejemplos prácticos
  9. Entendiendo type() e isinstance() en Python: ejemplos prácticos
  10. Método Java String length(): Cómo obtener el tamaño de un String (Ejemplo)
  11. Dominando Java String.indexOf(): Localizar subcadenas y ejemplos prácticos