Python: ottenere l'indice numerico di una sottostringa

In questo articolo vedremo come trovare l'indice numerico di una sottostringa in una stringa con Python.

Python mette a disposizione il metodo index() delle stringhe. Tuttavia, a differenza di quanto accade ad esempio in JavaScript con il metodo indexOf(), questo metodo solleva l'eccezione ValueError se la sottostringa non è presente nella stringa principale.

Quindi per usare questo metodo dobbiamo gestire tale eccezione:

def find_index(value=None, substr=None):
    if value is None or substr is None:
        return -1
    try:
        index = value.index(substr)
        return index
    except ValueError:
        return -1

Possiamo usare la nostra funzione in questo modo:

message = 'Test'

print(find_index(message, 's'))

print(find_index(message, 'A'))

L'output sarà:

2
-1
Torna su