Per questo quesito mi era venuto in mente che si sarebbe anche potuta usare la funzione
scan.
Allora ho scritto questo:
Public Sub Main()
Dim i As Byte
Dim ss As String[]
Dim s As String = "aaazbbbzccczddd"
Dim z As String
Print s
For i = 1 To Len(s)
z &= "*"
Next
ss = Scan(s, z)
ss.Delete(7)
ss.Add(" ", 7)
For Each z In ss
Print z;
Next
End
Ma non funziona, mi da questo risultato:
aaazbbbzccczddd
aaazbbbzccczddd
Vale a dire che non cancella e aggiunge lo spazio all'inizio.
Però se io uso il vettore senza popolarlo con
scan allora funziona:
Public Sub Main()
Dim i As Byte
Dim ss As String[] = ["a", "a", "a", "z", "b", "b", "b", "z", "c", "c", "c", "z", "d", "d", "d"]
Dim s As String
Dim z As String = "aaazbbbzccczddd"
Print z
ss.Delete(7)
ss.Add(" ", 7)
For Each s In ss
Print s;
Next
End
E questo è l'atteso risultato:
aaazbbbzccczddd
aaazbbb ccczddd
Secondo voi perché accade questo?