SPLIT |
Découper |
|---|---|
Perl |
Syntaxe
| split |
| split /pattern/ |
| split /pattern/, expr |
|
split /pattern/, expr, limit |
Paramètres
| Nom | Description |
|---|---|
| pattern | Ce paramètre permet d'indiquer une palette informant sur le séparateur |
| expr | Ce paramètre permet d'indiquer la chaîne de caractères à séparer en tableau |
| limit | Ce paramètre permet d'indiquer le nombre maximal que peut avoir le tableau |
Description
Cette fonction permet de subdivisé en plusieurs sous-chaîne de caractères une chaîne de caractères en prenant pour séparateur des caractères.
Remarques
- Fonction essentielle pour la manipulation de chaînes : La fonction split est l'un des outils les plus utilisés en Perl pour traiter du texte. Elle permet de découper une chaîne en plusieurs sous-chaînes en se basant sur un motif (pattern) donné. Cela en fait un élément clef pour l'analyse de fichiers, le traitement de journaux de bord ou la lecture de données structurées comme du CSV.
- Le séparateur est défini par une expression régulière Le paramètre pattern est une expression régulière, ce qui rend la fonction extrêmement flexible. On peut séparer sur un simple caractère (comme une virgule), mais aussi sur des motifs complexes (comme des suites d'espaces, des caractères spéciaux, ou même des groupes de mots), ce qui dépasse les capacités des fonctions de découpe basiques d'autres langages.
- Peut être appelée sans paramètre explicite : Si split est utilisée sans paramètres, elle utilise par défaut la variable spéciale $_ comme chaîne à découper, et un motif implicite correspondant à des espaces blancs (/\s+/). Cela permet de simplifier le code dans certains cas où l'on travaille en contexte implicite.
- Le paramètre limit contrôle le nombre de résultats : Le troisième paramètre limit permet de restreindre le nombre d'éléments produits. Cela est utile lorsque l'on souhaite diviser une chaîne sans forcément découper chaque occurrence du motif. Le dernier élément contiendra alors le reste de la chaîne non découpée, ce qui permet de préserver certaines informations.
- Retourne une liste, donc utilisable dans des affectations multiples : La fonction retourne directement une liste, ce qui permet de l'utiliser dans une affectation multiple de variables, comme : ($prenom, $nom) = split / /, "Jean Dupont";. Cela améliore la lisibilité du code et évite de devoir indexer manuellement les éléments du tableau.
- Produit des chaînes vides si deux motifs sont consécutifs : Lorsqu'il y a deux motifs consécutifs dans la chaîne (par exemple deux virgules : a,,b), split insère une chaîne vide entre les deux. Ce comportement est important à connaître pour éviter des erreurs de traitement ou pour détecter des champs vides dans des données tabulaires.
- Peut être utilisée avec des motifs délimiteurs invisibles : On peut utiliser split avec des motifs de séparation peu visibles ou invisibles, comme les tabulations (\t) ou les retours à la ligne (\n). Cela permet de découper du texte structuré comme des fichiers TSV ou des contenus collés depuis Excel, sans nécessiter d'autres bibliothèques.
- Alternative à join pour la recomposition inverse : La fonction split est souvent utilisée en tandem avec join, réalisant l'opération inverse : recombiner une liste en une seule chaîne. Ce duo est très courant lorsqu'on souhaite modifier ou inspecter les composants d'une chaîne de texte, puis les reconstituer après traitement.
Exemples
Voici quelques exemples typiques de l'utilisation de cette fonction :
on obtiendra le résultat suivant :
Mot 0: VoiciMot 1: un
Mot 2: simple
Mot 3: texte
Niveau 0:
Niveau 1: usr
Niveau 2: lib
Niveau 3: cron
Niveau 4:
Voici un exemple montrant comment récupérer les paramètres d'une feuille de style CSS :
on obtiendra le résultat suivant :
width: 600xpadding: 14px
font-family: Arial, Verdana, Helvetica, sans-serif
margin: 0
font-size: 12px
border: 0px solid #000000
Voir également
Langage de programmation - Perl - Référence de procédures et fonctions - join
Langage de programmation - PHP - Référence de procédures et fonctions - split
Références
La Bible Micro Application HTML & Développement Web, Stefan Munz, Wolfgang Nefzger, 2003, ISBN: 2-7429-2898-7, page 1120
Perl/CGI-Programmation avancée Grand Livre, Edition Micro Application, Rolf D. Stoll, 2001, ISBN: 2742919082, page 98, 114