Split

From Base de connaissances eggdrops & TCL
Revision as of 11:08, 13 November 2020 by Crazycat (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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