Condividi tramite


Come fare per: Associare una stringa a un modello (Visual Basic)

Se si vuole verificare se un'espressione del tipo di dati String soddisfa un criterio, è possibile usare l'operatore Like.

Like accetta due operandi. L'operando sinistro è un'espressione stringa e l'operando destro è una stringa contenente il criterio da usare per la corrispondenza. Like restituisce un Boolean valore che indica se l'espressione stringa soddisfa il criterio.

Si può associare ogni carattere nell'espressione di stringa a un carattere specifico, a un carattere jolly, a un elenco di caratteri o a un intervallo di caratteri. Le posizioni delle specifiche nella stringa del modello corrispondono alle posizioni dei caratteri da trovare nell'espressione di stringa.

Per trovare la corrispondenza di un carattere nell'espressione stringa rispetto a un carattere specifico

Inserire il carattere specifico direttamente nella stringa del pattern. Alcuni caratteri speciali devono essere racchiusi tra parentesi quadre ([ ]). Per ulteriori informazioni, vedere Like Operator.

Nell'esempio seguente viene verificato se myString è costituito esattamente dal singolo carattere H.

Dim sMatch As Boolean = myString Like "H"

Per trovare la corrispondenza di un carattere nell'espressione stringa rispetto a un carattere jolly

Inserire un punto interrogativo (?) nella stringa di modello. Qualsiasi carattere valido in questa posizione crea una corrispondenza con esito positivo.

Nell'esempio seguente viene verificato se myString è costituito dal singolo carattere W seguito esattamente da due caratteri di qualsiasi valore.

Dim sMatch As Boolean = myString Like "W??"

Per trovare la corrispondenza di un carattere nell'espressione stringa rispetto a un elenco di caratteri

Inserire parentesi ([ ]) nella stringa del modello e all'interno delle parentesi inserire l'elenco di caratteri. Non separare i caratteri con virgole o altri separatori. Qualsiasi carattere singolo nella lista determina una corrispondenza.

Nell'esempio seguente viene verificato se myString è costituito da un carattere valido seguito esattamente da uno dei caratteri A, Co E.

Dim sMatch As Boolean = myString Like "?[ACE]"

Si noti che questa corrispondenza fa distinzione tra maiuscole e minuscole.

Per trovare la corrispondenza di un carattere nell'espressione stringa rispetto a un intervallo di caratteri

Inserire parentesi quadre ([ ]) nella stringa del motivo e all'interno delle parentesi quadre inserire i caratteri più bassi e più alti nell'intervallo, separati da un trattino (). Qualsiasi carattere singolo all'interno dell'intervallo produce una corrispondenza con successo.

Nell'esempio seguente viene verificato se myString è costituito dai caratteri num seguiti esattamente da uno dei caratteri i, , jkl, m, o n.

Dim sMatch As Boolean = myString Like "num[i-m]"

Si noti che questa corrispondenza fa distinzione tra maiuscole e minuscole.

Corrispondenza di stringhe vuote

Like considera la sequenza [] come stringa di lunghezza zero (""). È possibile usare [] per verificare se l'intera espressione stringa è vuota, ma non è possibile usarla per verificare se una particolare posizione nell'espressione stringa è vuota. Se una posizione vuota è una delle opzioni necessarie per il test, è possibile usare Like più volte.

Per trovare la corrispondenza di un carattere nell'espressione stringa rispetto a un elenco di caratteri o nessun carattere

  1. Chiamare l'operatore Like due volte sulla stessa espressione stringa e connettere le due chiamate con l'operatore Or o l'operatore OrElse.

  2. Nella stringa del modello per la prima Like clausola, includere l'elenco dei caratteri, racchiuso tra parentesi quadre ([ ]).

  3. Nella stringa modello per la seconda Like clausola, non inserire alcun carattere nella posizione in questione.

    Nell'esempio seguente viene verificato il numero phoneNum di telefono a sette cifre per tre cifre numeriche, seguito da uno spazio, un trattino (), un punto (.) o nessun carattere, seguito da esattamente quattro cifre numeriche.

    Dim sMatch As Boolean = 
      (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
    

Vedere anche