Split
ArrayStringa = Split ( Stringa AS String [
, Separatori AS String
, Escape AS String
, IgnoraVuoto AS Boolean ]
)
ArrayStringa = Split ( Stringa AS String [
, Separatori AS String
, Escape AS String
, IgnoraVuoto AS Boolean
, MantieneEscape AS Boolean ]
)
Divide una stringa in sotto stringhe delimitate da un carattere di escape.
-
Stringa è la stringa da dividere.
-
Separatori è la lista dei caratteri separatori.
-
Escape è un carattere di fuga. Un carattere separatore racchiuso fra due caratteri di escape viene ignorato dal processo di divisione. Se Escape contiene due caratteri, il primo è il carattere escape di partenza, e il secondo quello finale.
-
IgnoraVuoto dice a Split() di non restituire elementi vuoti.
-
MantieneEscape vengono mantenuti i caratteri di escape nella stringa restituita.
Questa funzione, restituisce una matrice di stringhe riempita con ogni sotto stringa trovata. Separatori ed escape non vengono restituiti.
Per impostazione predefinita, il carattere virgola è il separatore, e non ci sono caratteri di escape.
Se una stringa contiene caratteri di escape, allora questi caratteri di escape devono essere duplicati.
Attenzione! I caratteri separatori e gli escape sono solo caratteri ASCII interi singoli di un byte. Non è possibile usare questa funzione per dividere una stringa di caratteri non ASCII in un'altra stringa.
Per esempio:
Split(MiaStringa, "\r\n")
dividerà
MiaStringa
usando
"\r"
o
"\n"
come separatori, ma non la stringa piena
"\r\n"
.
Esempi
Dim Elt As String[]
Dim Sb As String
Elt = Split(" Gambas Almost Means BASIC !\n'Do you agree ?'", " \n", "'")
FOR EACH Sb IN Elt
PRINT "("; Sb; ") ";
NEXT
PRINT
() (Gambas) (Almost) (Means) (BASIC) () (!) (Do you agree ?)
Dim Elt As String[]
Dim Sb As String
Elt = Split(" Gambas Almost Means BASIC !\n'Do you agree ?'", " \n", "'", TRUE)
FOR EACH Sb IN Elt
PRINT "("; Sb; ") ";
NEXT
PRINT
(Gambas) (Almost) (Means) (BASIC) (!) (Do you agree ?)
Dim Elt As String[]
Dim Sb As String
Elt = Split("(Gambas) (Almost) (Means) (BASIC) (!) (Do you agree ?)", " ", "()")
FOR EACH Sb IN Elt
PRINT Sb; ".";
NEXT
PRINT
Gambas.Almost.Means.BASIC.!.Do you agree ?.
Vedi anche