Differenze tra le versioni di "Rimuovere da una stringa uno o più caratteri del codice ASCII esteso"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "I caratteri appartenenti al codice ''ASCII esteso'', sono quei caratteri con codice superiore al valore 127. Per rimuovere da una stringa uno o più caratteri appartenenti al...")
 
 
Riga 10: Riga 10:
 
   
 
   
 
  <FONT Color=gray>' ''Mostra la stringa come appare con i caratteri del "ASCII esteso":''</font>
 
  <FONT Color=gray>' ''Mostra la stringa come appare con i caratteri del "ASCII esteso":''</font>
    Print s
+
  Print s
 
      
 
      
    With bb = Byte[].FromString(s)
+
  With bb = Byte[].FromString(s)
      i = .Count
+
    i = .Count
    End With
+
  End With
 
    
 
    
    While b < i
+
  While b < i
      If Not IsAscii(Chr(bb[b])) Then
+
    If Not IsAscii(Chr(bb[b])) Then
        bb.Remove(b)
+
      bb.Remove(b)
        Dec i
+
      Dec i
      Endif
+
    Endif
      Inc b
+
    Inc b
    Wend
+
  Wend
 
      
 
      
    s = bb.ToString(0, bb.count)
+
  s = bb.ToString(0, bb.count)
 
      
 
      
 
  <FONT Color=gray>' ''Mostra la stringa ora priva dei caratteri del "ASCII esteso":''</font>
 
  <FONT Color=gray>' ''Mostra la stringa ora priva dei caratteri del "ASCII esteso":''</font>
    Print s
+
  Print s
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione attuale delle 19:28, 11 mag 2023

I caratteri appartenenti al codice ASCII esteso, sono quei caratteri con codice superiore al valore 127.

Per rimuovere da una stringa uno o più caratteri appartenenti all'ASCII esteso, è possibile utilizzare il seguente codice:

Public Sub Main()

  Dim s As String = "ab" & Chr(180) & "cd ef" & Chr(185) & "g" & Chr(195) & "hil" & Chr(179) & " mnop"
  Dim bb As Byte[]
  Dim b As Byte
  Dim i As Integer

' Mostra la stringa come appare con i caratteri del "ASCII esteso":
  Print s
   
  With bb = Byte[].FromString(s)
    i = .Count
  End With
  
  While b < i
    If Not IsAscii(Chr(bb[b])) Then
      bb.Remove(b)
      Dec i
    Endif
    Inc b
  Wend
   
  s = bb.ToString(0, bb.count)
   
' Mostra la stringa ora priva dei caratteri del "ASCII esteso":
  Print s
  
End