Verifica "passo-passo" di ciascun carattere in una data stringa

Da Gambas-it.org - Wikipedia.

Per conoscere ciascun carattere componente una stringa di una qualunque lunghezza e composizione, anche contenente spazi fra le parole, si potrà utilizzare la funzione Mid() oppure la funzione String.Code().


Conoscere ciascun carattere di una stringa mediante la funzione Mid()

Mostreremo di seguito un possibile codice che utilizza la funzione Mid():

' Gambas class file

Public Sub Button1_Click()

Dim a$ As String
Dim b As Integer
 

' Fingiamo che la stringa, composta da caratteri e loro quantità a noi non conosciuti, sia questa:
  a$ = "Verifica passo-passo della stringa"

' Iniziamo il controllo carattere dopo carattere per l'intera lunghezza della stringa:
  For b = 1 To Len(a$)

' Mostriamo in console il risultato intero della verifica
' (il " ; " alla fine della funzione Mid$ consentirà di vedere i caratteri in allineamento orizzontale):
    Print Mid$(a$, b, 1);

  Next

End


In console avremo coerentemente la scritta:
Verifica passo-passo della stringa


Sapere quante volte è presente un dato carattere in una stringa

L'algoritmo precedente ci consente di crearne anche un altro per sapere quante volte è presente un dato carattere in una stringa:

Public Function cercaCarattere(testo As String, carattere As String) As Short   
    
  Dim j, trovato As Short    
    
  For j = 1 To Len(testo)   
' Se il carattere controllato è uguale a quello che si sta cercando...:
    If Mid(testo, j, 1) = lettera Then  
' ...allora incrementa di un'unità il valore della variabile integer che tiene il conto:
      Inc trovato  
   Endif    
  Next    
    
   Return trovato  
     
End


Conoscere ciascun carattere di una stringa mediante la funzione String.Code()

Mostreremo di seguito un possibile codice che utilizza la funzione String.Code():

Public Sub Button1_Click()  
     
 Dim i As Short  
 Dim testo As String  

     
   testo = "Testo qualsiasi"  
               
   For i = 1 To Len(testo)  
     
     Print Chr(String.Code(testo, i))
     
   Next  
     
End