Difference between revisions of "Split"

From Base de connaissances eggdrops & TCL
Jump to: navigation, search
 
Line 1: Line 1:
 
[[Catégorie:Langage Tcl]]
 
[[Catégorie:Langage Tcl]]
 
split - Divise une chaîne en une liste Tcl
 
split - Divise une chaîne en une liste Tcl
=Syntaxe=
+
==Syntaxe==
 
<source lang=tcl>split string ?splitChars?</source>
 
<source lang=tcl>split string ?splitChars?</source>
=Description=
+
==Description==
 
Renvoie une liste créée en divisant ''string'' à chaque caractère qui est dans l'argument ''splitChars''.
 
Renvoie une liste créée en divisant ''string'' à chaque caractère qui est dans l'argument ''splitChars''.
  
Line 17: Line 17:
 
{{Note|Cette commande est le pendant direct de [[join]]}}
 
{{Note|Cette commande est le pendant direct de [[join]]}}
  
=Exemple d'utilisation=
+
==Exemples d'utilisation==
 +
===Découper une heure===
 
<source lang=tcl>set heure_entier "10:23:54"
 
<source lang=tcl>set heure_entier "10:23:54"
 
set heure_split [split $heure_entier ":"]
 
set heure_split [split $heure_entier ":"]
Line 23: Line 24:
 
set minute [lindex $heure_split 1]
 
set minute [lindex $heure_split 1]
 
set seconde [lindex $heure_split 2]</source>
 
set seconde [lindex $heure_split 2]</source>
=Voir également=
+
===Extraire les caractères d'une chaine===
 +
Vous pouvez utiliser '''{}''' comme séparateur pour découper une chaîne en liste de ses caractères. Voici un exemple pratique:
 +
<source lang=tcl>set chanmodes [getchanmode #canal]
 +
# +tnkl azerty 20
 +
set modes [split [lindex $chanmodes 0] {}]
 +
putlog $modes
 +
# + t n k l</source>
 +
==Voir également==
 
[[list]], [[llength]], [[lindex]], [[lrange]], [[linsert]], [[lreplace]], [[lappend]], [[lsearch]], [[concat]], [[join]], [[lsort]], [[lrepeat]], [[lset]], [[Utilisation des listes]]
 
[[list]], [[llength]], [[lindex]], [[lrange]], [[linsert]], [[lreplace]], [[lappend]], [[lsearch]], [[concat]], [[join]], [[lsort]], [[lrepeat]], [[lset]], [[Utilisation des listes]]
 
* http://wfr.tcl.tk/140
 
* http://wfr.tcl.tk/140

Latest revision as of 11:08, 13 November 2020

split - Divise une chaîne en une liste Tcl

Syntaxe

split string ?splitChars?

Description

Renvoie une liste créée en divisant string à chaque caractère qui est dans l'argument splitChars.

Chaque élément de la liste résultat consistera des caractères de string qui sont situés entre les instances des caractères dans splitChars. Une liste vide sera générée si string contient des caractères adjacents dans splitChars, ou si le premier ou le dernier caractère de string est dans splitChars. Si splitChars est une chaîne vide alors chaque caractère de string devient un élément séparé de la liste résultat. SplitChars est par défaut un caractère espace standard.

Par exemple,

split "comp.unix.misc"

retourne "comp unix misc"

et

split "Hello world" {}

retourne "H e l l o { } w o r l d"

Cette commande est le pendant direct de join


Exemples d'utilisation

Découper une heure

set heure_entier "10:23:54"
set heure_split [split $heure_entier ":"]
set heure [lindex $heure_split 0]
set minute [lindex $heure_split 1]
set seconde [lindex $heure_split 2]

Extraire les caractères d'une chaine

Vous pouvez utiliser {} comme séparateur pour découper une chaîne en liste de ses caractères. Voici un exemple pratique:

set chanmodes [getchanmode #canal]
# +tnkl azerty 20
set modes [split [lindex $chanmodes 0] {}]
putlog $modes
# + t n k l

Voir également

list, llength, lindex, lrange, linsert, lreplace, lappend, lsearch, concat, join, lsort, lrepeat, lset, Utilisation des listes