Confrontare i caratteri di due stringhe: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 2: | Riga 2: | ||
Potremo procedere utilizzando la funzione ''Mid(...)'', e l'intento sarà quello di | Potremo procedere utilizzando la funzione ''Mid(...)'', e l'intento sarà quello di | ||
'''Public''' Sub | '''Public''' Sub Main() | ||
Dim s1, s2, diversi As String | Dim s1, s2, sp, diversi As String | ||
Dim | Dim i, c As Integer | ||
s1 = " | s1 = "hola gamberos" | ||
s2 = " | s2 = "hoLa gamberos del foro" | ||
For | For i = 1 To Max(Len(s1), Len(s2)) | ||
<FONT | <FONT Color=gray>' ''Se i rispettivi caratteri in posizione j all'interno delle due stringhe non corrispondono fra loro...''</font> | ||
If Mid(s1, | If Mid(s1, i, 1) <> Mid(s2, i, 1) Then | ||
<FONT Color=gray>' ''...allora viene incrementata la variabile "c" per determinare il totale dei caratteri differenti...''</font> | |||
Inc | Inc c | ||
<FONT | <FONT Color=gray>' ''...nonché vengono aggiunti alla variabile, chiamata "diversi", affinché siano mostrati accoppiati in console:''</font> | ||
sp = Mid(s1, i, 1) | |||
If IsNull(sp) Then sp = Chr(32) | |||
diversi &= "\n" & sp & " | " & Mid(s2, i, 1) | |||
Endif | Endif | ||
Next | Next | ||
Print "I caratteri diversi della stringa \"s1\" e della stringa \"s2\" sono:\n\ns1 s2\n------\n"; diversi | |||
Print "\nper un totale di "; c & " caratteri." | |||
'''End''' | '''End''' | ||
Versione delle 12:54, 1 ago 2017
Il caso è quello in cui, avendo due stringhe di eguale lunghezza di caratteri, vogliamo verificare quali e quanti caratteri sono eventualmente diversi all'interno delle predette stringhe.
Potremo procedere utilizzando la funzione Mid(...), e l'intento sarà quello di
Public Sub Main()
Dim s1, s2, sp, diversi As String
Dim i, c As Integer
s1 = "hola gamberos"
s2 = "hoLa gamberos del foro"
For i = 1 To Max(Len(s1), Len(s2))
' Se i rispettivi caratteri in posizione j all'interno delle due stringhe non corrispondono fra loro...
If Mid(s1, i, 1) <> Mid(s2, i, 1) Then
' ...allora viene incrementata la variabile "c" per determinare il totale dei caratteri differenti...
Inc c
' ...nonché vengono aggiunti alla variabile, chiamata "diversi", affinché siano mostrati accoppiati in console:
sp = Mid(s1, i, 1)
If IsNull(sp) Then sp = Chr(32)
diversi &= "\n" & sp & " | " & Mid(s2, i, 1)
Endif
Next
Print "I caratteri diversi della stringa \"s1\" e della stringa \"s2\" sono:\n\ns1 s2\n------\n"; diversi
Print "\nper un totale di "; c & " caratteri."
End