Cercare una parola in una stringa
Per cercare una parola in una stringa potranno essere usate diverse soluzioni.
Con LIKE ed il metacarattere * .
In questo caso possiamo sapere semplicemente se la parola cercata esiste nella stringa:
Public Sub Button1_Click() Dim $prova As String = "la tenda è grande" ' In vero qui si vuole sapere se la frase, contenuta nella variabile $prova, ' possiede la parola "tenda" affiancata da due spazi: If $prova Like "* tenda *" Then Print "Parola trovata !" Endif End
Con la funzione INSTR :
In questo caso verrà restituita la posizione del primo carattere della prima parola trovata fra due o più eventuali, identiche a quella cercata, all'interno della stringa :
Public Sub Button1_Click() Dim $prova As String = "la tenda rossa era grande come la tenda verde" Dim pos As Byte pos = InStr($prova, "tenda") Print pos End
Il risultato in console sarà:
4
Con la funzione RINSTR :
In questo caso verrà restituita la posizione del primo carattere dell'ultima parola trovata fra due o più eventuali, identiche a quella cercata, all'interno della stringa :
Public Sub Button1_Click() Dim $prova As String = "la tenda rossa era grande come la tenda verde" Dim pos As Byte pos = RInStr($prova, "tenda") Print pos End
Il risultato in console sarà:
35
Le funzioni InStr e RInStr e caratteri particolari
Per le stringhe in utf bisogna usare la classe String, altrimenti i caratteri particolari come: è, é, ò, à, ù, etc riporteranno un conteggio pari a 2 e non a 1. In particolare vedere le note nelle pagine:a InStr e RInStr .