Differenze tra le versioni di "Individuare in un testo i caratteri non alfanumerici e la loro posizione"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per individuare all'interno di un testo quali siano i caratteri non alfanumerici, e quale sia la loro posizione, si farà uso della funzione ''IsPunct()'' e di un ciclo con il...') |
|||
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per individuare all'interno di un testo quali siano i caratteri non alfanumerici, e quale sia la loro posizione, si farà uso della funzione | + | 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 | + | 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() | '''Public''' Sub Main() | ||
Riga 11: | Riga 10: | ||
Dim i As Integer | 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''' | '''End''' | ||
− | + | ===Uso delle sole funzioni Stringa=== | |
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Riga 26: | Riga 25: | ||
Dim i As Integer | 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''' | '''End''' |
Versione attuale delle 19:11, 11 mag 2023
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