Individuare in un testo i caratteri non alfanumerici e la loro posizione

Da Gambas-it.org - Wikipedia.

Per individuare all'interno di un testo quali siano i caratteri non alfanumerici, e quale sia la loro posizione, si farà uso della funzione nativa "IsPunct()" e di un ciclo con il quale verificare il tipo di ogni carattere del testo.

In particolare potremo utilizzare almeno due modalità: con un vettore di tipo "Byte[ ]" o con le sole funzioni Stringa.

Uso del vettore di tipo Byte[ ]

Public Sub Main()

 Dim s As String = ".prova | e {prova = 5000}! 0 + [prova, prova] 123% prova; #"
 Dim bb As New Byte[]
 Dim i As Integer
  
 bb = bb.FromString(s)
   
 For i = 0 To bb.Max
   If IsPunct(Chr(bb[i])) Then Print Chr(bb[i]), i + 1
 Next
 
End


Uso delle sole funzioni Stringa

Public Sub Main()

 Dim s As String = ".prova | e {prova = 5000}! 0 + [prova, prova] 123% prova; #"
 Dim i As Integer

 For i = 1 To Len(s)
   If IsPunct(Mid(s, i, 1)) Then Print Mid(s, i, 1), i
 Next

End