Trova il carattere in una stringa in Python
-
Usa la funzione
find()
per trovare la posizione di un carattere in una stringa -
Usa la funzione
rfind()
per trovare la posizione di un carattere in una stringa -
Usa la funzione
index()
per trovare la posizione di un carattere in una stringa -
Usa il cicli
for
per trovare la posizione di un carattere in una stringa
Le stringhe sono una raccolta di caratteri. Ogni carattere nella stringa ha una posizione specifica che può essere utilizzata per accedervi. In questo tutorial, discuteremo come trovare la posizione di un carattere in una stringa.
Usa la funzione find()
per trovare la posizione di un carattere in una stringa
La funzione find()
restituisce la posizione di una sottostringa. Possiamo anche specificare le posizioni di inizio e fine in cui vogliamo cercare (per impostazione predefinita, l’inizio è 0 e la fine è la lunghezza della stringa).
Nel codice seguente, useremo questa funzione per trovare la posizione di un carattere in una stringa.
s = "python is fun"
c = "n"
print(s.find(c))
Produzione:
5
Notare che restituisce la prima posizione del carattere incontrato nella stringa. Un’altra cosa da ricordare su questa funzione è che restituisce -1 quando la sottostringa data non è presente nella stringa.
Usa la funzione rfind()
per trovare la posizione di un carattere in una stringa
Questa funzione è simile alla funzione find()
, con l’unica differenza che restituisce l’ultima posizione della sottostringa.
Per esempio,
s = "python is fun"
c = "n"
print(s.rfind(c))
Produzione:
12
Usa la funzione index()
per trovare la posizione di un carattere in una stringa
La funzione index()
è usata in modo simile alla funzione find()
per restituire la posizione dei caratteri in una stringa. Come la funzione find()
, restituisce anche la prima occorrenza del carattere nella stringa.
Per esempio,
s = "python is fun"
c = "n"
print(s.index(c))
Produzione:
5
La differenza tra la funzione index()
e find()
è che la funzione index()
restituisce ValueError
quando il carattere richiesto manca dalla stringa.
Usa il cicli for
per trovare la posizione di un carattere in una stringa
In questo metodo, possiamo notare ogni occorrenza del carattere in una stringa. Ripetiamo la stringa e confrontiamo ogni carattere individualmente. Ogni posizione in cui viene trovata la corrispondenza viene indicata e memorizzata in una variabile diversa.
Il codice seguente implementa questa logica.
s = "python is fun"
c = "n"
lst = []
for pos, char in enumerate(s):
if char == c:
lst.append(pos)
print(lst)
Produzione:
[5, 12]
Usiamo la funzione enumerate()
perché semplifica l’iterazione e assegna una variabile contatore ad ogni carattere della stringa.
Possiamo anche implementare questo metodo utilizzando il metodo di comprensione delle liste, che è considerato più veloce e più pulito.
Per esempio,
s = "python is fun"
c = "n"
print([pos for pos, char in enumerate(s) if char == c])
Produzione:
[5, 12]
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3