str.index(sub[, start[, end]])
El método str.index devuelve el índice más bajo en el que se encuentre el substring sub en el bloque str[start:end]. Si el substring sub no se encuentra, el método devuelve un error de tipo ValueError. Si no se especifican los argumentos start o end, se toman como valores por defecto el comienzo y el final del string. Si, por el contrario, se especifican, el substring a buscar deberá encontrarse completo dentro del rango. Aun cuando se especifique un rango de búsqueda, si se encuentra el substring, el índice estará referenciado al string completo, no al rango.
Véase también str.find
- sub: substring a buscar.
- start: (opcional) comienzo del bloque en el que realizar la búsqueda
- end: (opcional) final del bloque en el que realizar la búsqueda
En este primer ejemplo buscamos un substring existente sin especificar el rango de búsqueda:
s = "Python for Data Science"
print(s.index("Da"))
Si el substring no se encuentra, el método devuelve un mensaje de error (obsérvese que la búsqueda es sensible a mayúsculas y minúsculas):
s = "Python for Data Science"
print(s.index("da"))
Lo mismo ocurre si el substring existe pero fuera del rango especificado:
s = "Python for Data Science"
print(s.index("Da", 0, 7))
Si start no es cero y se encuentra la cadena buscada, el índice devuelto es respecto del string completo, no respecto del rango de búsqueda:
s = "Python for Data Science"
print(s[5:15])
print(s.index("Data", 5, 15))