Procedura: confrontare una stringa con un modello (Visual Basic)
Per verificare se un'espressione dell'oggetto Tipo di dati String (Visual Basic) soddisfa un modello, è possibile utilizzare l'operatore Like (operatore) (Visual Basic).
L'operatore Like accetta due operandi. L'operando di sinistra è un'espressione stringa, mentre l'operando di destra è una stringa contenente il modello da utilizzare per il confronto. Like restituisce un valore Boolean che indica se l'espressione stringa soddisfa il modello.
È possibile confrontare ciascun carattere incluso nell'espressione stringa con un carattere specifico, un carattere jolly, un elenco o un intervallo di caratteri. Le posizioni delle specifiche nella stringa modello corrispondono alle posizioni dei caratteri da confrontare nell'espressione stringa.
Per confrontare un carattere incluso nell'espressione stringa con un carattere specifico
Inserire il carattere specifico direttamente nella stringa modello. Alcuni caratteri speciali devono essere racchiusi da parentesi ([ ]). Per ulteriori informazioni, vedere Like (operatore) (Visual Basic).
Il seguente esempio consente di verificare se l'oggetto myString è costituito esattamente dal singolo carattere H.
Dim sMatch As Boolean = myString Like "H"
Per confrontare un carattere incluso nell'espressione stringa con un carattere jolly
Inserire un punto interrogativo (?) nella stringa modello. Qualsiasi carattere valido in questa posizione determina una corrispondenza corretta.
Il seguente esempio consente di verificare se l'oggetto myString è costituito dal singolo carattere W seguito da due caratteri qualsiasi.
Dim sMatch As Boolean = myString Like "W??"
Per confrontare un carattere incluso nell'espressione stringa con un elenco di caratteri
Inserire le parentesi nella stringa modello ([ ]) e racchiudere tra le parentesi l'elenco di caratteri. Non separare i caratteri con virgole o altri separatori. Qualsiasi carattere incluso nell'elenco determina una corrispondenza corretta.
Il seguente esempio consente di verificare se l'oggetto myString è costituito da un qualsiasi carattere valido seguito da un solo carattere A, C, o E.
Dim sMatch As Boolean = myString Like "?[ACE]"
In questo tipo di confronto viene fatta distinzione tra maiuscole e minuscole.
Per confrontare un carattere incluso nell'espressione stringa con un intervallo di caratteri
Inserire le parentesi nella stringa modello ([ ]) e racchiudere tra le parentesi il carattere minore e quello maggiore dell'intervallo, separati da un trattino (–). Qualsiasi carattere incluso nell'intervallo determina una corrispondenza corretta.
Il seguente esempio consente di verificare se l'oggetto myString è costituito dai caratteri num seguiti da un solo carattere i, j, k, l, m, o n.
Dim sMatch As Boolean = myString Like "num[i-m]"
In questo tipo di confronto viene fatta distinzione tra maiuscole e minuscole.
Confronto di stringhe vuote
L'operatore Like considera la sequenza [] come una stringa di lunghezza zero (""). È possibile utilizzare la sequenza [] per verificare se l'espressione stringa è completamente vuota, ma non per verificare se è vuota una particolare posizione all'interno dell'espressione stringa. Se si desidera verificare una posizione vuota, è possibile utilizzare l'operatore Like più volte.
Per confrontare un carattere incluso nell'espressione stringa con un elenco di caratteri o con nessun carattere
Chiamare due volte l'operatore Like sulla stessa espressione stringa e connettere le due chiamate con l'operatore Operatore Or (Visual Basic) o Operatore OrElse (Visual Basic).
Nella stringa modello per la prima clausola Like, è necessario inserire l'elenco di caratteri racchiuso tra parentesi ([ ]).
Nella stringa modello per la seconda clausola Like non inserire alcun carattere nella posizione in questione.
Il seguente esempio consente di verificare il numero telefonico di sette cifre phoneNum che deve essere composto da tre cifre seguite da uno spazio, da un trattino (–), da un punto (.) o da nessun carattere, e quindi da altre quattro cifre.
Dim sMatch As Boolean = (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
Vedere anche
Riferimenti
Operatori di confronto (Visual Basic)
Like (operatore) (Visual Basic)
Tipo di dati String (Visual Basic)