Comment pouvez-vous tokeniser / tokenize / diviser une chaîne délimitée en Perl?

StackOverflow https://stackoverflow.com/questions/659705

  •  20-08-2019
  •  | 
  •  

Question

Comment diviser une chaîne, par exemple "a: b: c: d" en jetons pour l'analyse syntaxique en Perl?

(par exemple, en utilisant split?)

Vous recherchez une réponse claire et simple avant tout (mais ajoutez ensuite des informations intéressantes).

Était-ce utile?

La solution

Oui, la la scission est ce que vous souhaitez.

@tokens = split(/:/, "a:b:c:d");
foreach my $token (@tokens) {
    ....
}

Autres conseils

Vous pouvez utiliser la scission. Vous pouvez également l'utiliser avec une regex.


my @tokens = split(/:/,$string);

Pour une analyse plus avancée, je recommande Parse :: RecDescent

Consultez également la documentation fournie avec perl en tapant à l'invite de commande:

perldoc -f split

Pour effectuer une recherche dans la FAQ, utilisez

perldoc -q split

si vous avez:

$a = "a:b:c:d";
@b = split /:/, $a;

alors vous obtenez:

@b = ("a", "b", "c", "d")

En général, voici comment fonctionne le fractionnement:

split /PATTERN/,EXPR

PATTERN peut être à peu près regex. Vous n'êtes pas limité à de simples jetons tels que ': '

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top