Rimuovere da una stringa tutti i caratteri non-stampabili eventualmente presenti
Vai alla navigazione
Vai alla ricerca
Come è noto, i caratteri sono rappresentati numericamenti dalla codifica ASCII. Nella codifica a 7 bit (quindi fino al valore 127) sono compresi anche 33 caratteri definiti "non stampabili ", in quanto definiti solitamente come "caratteri di controllo ".
All'interno della tabella ASCII i caratteri, definiti "non stampabili " sono quelli rappresentati dal numero 0 sino al numero 31, nonché il numero 127.
Se si intende eliminare da una stringa di caratteri tutti quelli "non-stampabili ", eventualmente presenti, è possibile adottare agevolmente questa funzione: [nota 1]
Private Function RimNonStamp(car As String) As String
Dim bb As Byte[]
Dim b As Byte
For b = 0 To 31
car = Replace(car, Chr(b), Null)
Next
car = Replace(car, Chr(127), Null)
Return car
End
oppure questa:
Private Function RimNonStamp(car As String) As String
Dim bb As Byte[]
Dim b As Byte
bb = Byte[].FromString(car)
Repeat
If (bb[b] < &20) Or (bb[b] = &7F) Then
bb.Remove(b, 1)
Continue
Endif
Inc b
Until b == bb.max
Return bb.ToString(0, bb.Count)
End
Note
[1] Vedere anche le seguenti pagine: