La funzione InStrRev di Excel VBA restituisce un numero intero che rappresenta la posizione di una sottostringa all’interno di una stringa. La funzione ricerca la stringa da destra a sinistra (cioè dalla fine all’inizio della stringa).
Se la sottostringa non viene trovata, la funzione restituisce il valore 0.
InStrRev( StringCheck, StringMatch, [Start], [Compare] )
StringCheck | La stringa all'interno della quale desideri cercare | |
StringMatch | La sottostringa che vuoi cercare | |
[Start] | Un argomento intero opzionale, che rappresenta la posizione (dall'inizio di StringCheck) da cui si desidera iniziare la ricerca. Se omesso, l'argomento [Start] assume il valore predefinito -1, il che significa che la ricerca inizia dalla fine della stringa. |
|
[Compare] | Un argomento facoltativo, che specifica il tipo di confronto da effettuare. Questo può assumere uno dei seguenti valori:
Se omesso, l'argomento [Compare] assume il valore predefinito vbBinaryCompare |
Esempio 1
' Trova la posizione dell'ultimo spazio (ovvero la sottostringa " ") all'interno
' della stringa "Papa Giovanni Paolo Secondo"
Dim pos As Integer
pos = InStrRev( "Papa Giovanni Paolo Secondo", " " )
'Questo restituisce il risultato 20
Nell’esempio qua sopra:
- L’argomento [Start] non è stato fornito alla funzione e quindi è impostato sul valore predefinito –1 (cioè inizia a cercare dalla fine della stringa);
- Anche l’argomento [Compare] non è stato fornito alla funzione e quindi è impostato sul valore predefinito vbBinaryCompare;
- Il risultato della funzione InStrRev (il numero intero 20) è assegnato alla variabile pos.
Esempio 2
' Trova la posizione dell'ultimo spazio all'interno della stringa
' "Papa Giovanni Paolo Secondo" prima del carattere 17
Dim pos As Integer
pos = InStrRev( "Papa Giovanni Paolo Secondo", " ", 17 )
'Questo restituisce il risultato 14
Nell’esempio qua sopra, la ricerca inizia nella posizione 17 della stringa “Papa Giovanni Paolo Secondo” e quindi la funzione trova lo spazio tra le parole “Giovanni” e “Paolo” nella posizione 14.
Esempio 3
' Trova la posizione dell'ultimo e del penultimo spazio
' all'interno della stringa "Papa Giovanni Paolo Secondo"
Dim lastSpacePos As Integer
Dim secondLastSpacePos As Integer
lastSpacePos = InStrRev( "Papa Giovanni Paolo Secondo", " " )
secondLastSpacePos = InStrRev( "Papa Giovanni Paolo Secondo", " ", lastSpacePos - 1 )
'Le variabili lastSpacePos e secondLastSpacePos ora
'sono rispettivamente pari a 20 e 14
Nell’esempio qua sopra:
- La funzione InStrRev trova la posizione dell’ultimo spazio e la memorizza (il valore restituito 20) nella variabile lastSpacePos.
- La seconda chiamata a InStrRev inizia nella posizione lastSpacePos – 1 (ovvero nella posizione 19). Questa chiamata quindi restituisce la posizione del penultimo spazio. Cioè posizione 14.
Esempio 4
' Trova il testo "ZZ" all'interno della stringa
' "Papa Giovanni Paolo Secondo"
Dim pos As Integer
pos = InStrRev( "Papa Giovanni Paolo Secondo", "ZZ" )
'Il testo "ZZ" non viene trovato e quindi la funzione
'restituisce il valore 0
Nell’esempio precedente, la sottostringa “ZZ” non viene trovata e quindi la funzione InStrRev restituisce il valore 0.