Come tokenizzare / tokenizzare / dividere una stringa delimitata in Perl?
Domanda
Come dividi una stringa ad es. & Quot; a: b: c: d " in token per l'analisi in Perl?
(ad es. usando split?)
Alla ricerca di una risposta chiara e diretta soprattutto (ma in seguito aggiungi qualche curiosità di informazioni).
Soluzione
Sì, split è ciò che desideri.
@tokens = split(/:/, "a:b:c:d");
foreach my $token (@tokens) {
....
}
Altri suggerimenti
Puoi usare la divisione. Puoi anche usarlo con una regex.
my @tokens = split(/:/,$string);
Per analisi più avanzate, raccomando Parse :: RecDescent
Dai un'occhiata anche alla documentazione fornita con perl digitando al prompt della riga di comando:
perldoc -f split
Per cercare nelle FAQ usa
perldoc -q split
se hai:
$a = "a:b:c:d";
@b = split /:/, $a;
quindi ottieni:
@b = ("a", "b", "c", "d")
In generale, è così che funziona la divisione:
split /PATTERN/,EXPR
Dove PATTERN
può essere praticamente regex. Non sei limitato a token semplici come ':
'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow