Differenze tra le versioni di "Confrontare due stringhe"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
 
Per confrontare due stringhe, al fine di verificare se sono uguali non solo sotto il profilo dei valori ASCII dei caratteri (ossia se si tratta delle medesime lettere dell'alfabeto), ma anche sotto il profilo della esatta corrispondenza tra lettere maiuscole e lettere minucole, si possono utilizzare almeno tre rapide modalità:
 
Per confrontare due stringhe, al fine di verificare se sono uguali non solo sotto il profilo dei valori ASCII dei caratteri (ossia se si tratta delle medesime lettere dell'alfabeto), ma anche sotto il profilo della esatta corrispondenza tra lettere maiuscole e lettere minucole, si possono utilizzare almeno tre rapide modalità:
* l'operatore <FONT Color=#B22222 size=4>=</font>, che è sensibile alle maiuscole (''case sensitive'');
+
* l'Operatore <FONT Color=red size=4>=</font>, che è sensibile alle maiuscole (''case sensitive'');
* l'operatore <FONT Color=#B22222 size=4>==</font>, che non è sensibile alle maiuscole (''case insensitive''), e che pertanto ci consente di comparare le due stringhe ma anche sotto il profilo della esatta corrispondenza  
+
* l'Operatore <FONT Color=red size=4>==</font>, che non è sensibile alle maiuscole (''case insensitive''), e che pertanto ci consente di comparare le due stringhe ma anche sotto il profilo della esatta corrispondenza  
* il metodo "''.Comp( )''" della Classe ''String'', tenendo presente che in modalità prestabilità la comparazione è "''case insensitive''". Per rendere tale comparazione "''case sensitive''", è necessario aggiungere al terzo parametro della funzione la costante "''gb.IgnoreCase''".
+
* il Metodo ".Comp()" della Classe ''String'', tenendo presente che in modalità prestabilita la comparazione è "''case insensitive'' ". Per rendere tale comparazione "''case sensitive'' ", è necessario aggiungere al terzo parametro della funzione la costante ''gb.IgnoreCase''.
  
  
 
Mostriamo un semplice esempio completo:
 
Mostriamo un semplice esempio completo:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
 
  Dim s1 As String = "gambas"
 
  Dim s2 As String = "Gambas"
 
 
    
 
    
 +
  Dim s1 As String = "gambas"
 +
  Dim s2 As String = "Gambas"
 +
 
  <FONT Color=gray>' ''Verifica se le due stringhe sono uguali sotto ogni profilo:''</font>
 
  <FONT Color=gray>' ''Verifica se le due stringhe sono uguali sotto ogni profilo:''</font>
 
   If s1 = s2 Then Print "Si" Else Print "No"
 
   If s1 = s2 Then Print "Si" Else Print "No"
Riga 17: Riga 17:
 
   If String.Comp(s1, s2, gb.IgnoreCase) Then Print "Si" Else Print "No"
 
   If String.Comp(s1, s2, gb.IgnoreCase) Then Print "Si" Else Print "No"
 
    
 
    
  '''End'''
+
  End

Versione attuale delle 17:42, 28 giu 2024

Per confrontare due stringhe, al fine di verificare se sono uguali non solo sotto il profilo dei valori ASCII dei caratteri (ossia se si tratta delle medesime lettere dell'alfabeto), ma anche sotto il profilo della esatta corrispondenza tra lettere maiuscole e lettere minucole, si possono utilizzare almeno tre rapide modalità:

  • l'Operatore =, che è sensibile alle maiuscole (case sensitive);
  • l'Operatore ==, che non è sensibile alle maiuscole (case insensitive), e che pertanto ci consente di comparare le due stringhe ma anche sotto il profilo della esatta corrispondenza
  • il Metodo ".Comp()" della Classe String, tenendo presente che in modalità prestabilita la comparazione è "case insensitive ". Per rendere tale comparazione "case sensitive ", è necessario aggiungere al terzo parametro della funzione la costante gb.IgnoreCase.


Mostriamo un semplice esempio completo:

Public Sub Main()
 
  Dim s1 As String = "gambas"
  Dim s2 As String = "Gambas"

' Verifica se le due stringhe sono uguali sotto ogni profilo:
  If s1 = s2 Then Print "Si" Else Print "No"
  If s1 == s2 Then Print "Si" Else Print "No"
  If String.Comp(s1, s2) Then Print "Si" Else Print "No"
  If String.Comp(s1, s2, gb.IgnoreCase) Then Print "Si" Else Print "No"
  
End