Differenze tra le versioni di "Cercare una parola in una stringa"

Da Gambas-it.org - Wikipedia.
Riga 26: Riga 26:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
  Dim $prova As String = "la tenda rossa è grande più della tenda verde"
+
  Dim $prova As String = "la tenda rossa era grande come la tenda verde"
 
  Dim pos As Byte
 
  Dim pos As Byte
 
   
 
   
Riga 47: Riga 47:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
  Dim $prova As String = "la tenda rossa è grande più della tenda verde"
+
  Dim $prova As String = "la tenda rossa era grande come la tenda verde"
 
  Dim pos As Byte
 
  Dim pos As Byte
 
   
 
   
Riga 58: Riga 58:
  
 
Il risultato in console sarà:
 
Il risultato in console sarà:
<BR>34
+
<BR>35

Versione delle 10:18, 18 apr 2012

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