Tcl - Cordes
Le type de données primitif de Tcl est une chaîne et nous pouvons souvent trouver des guillemets sur Tcl en tant que langage de chaîne uniquement. Ces chaînes peuvent contenir des caractères alphanumériques, uniquement des nombres, des booléens ou même des données binaires. Tcl utilise des caractères Unicode 16 bits et les caractères alphanumériques peuvent contenir des lettres, y compris des caractères non latins, des chiffres ou des signes de ponctuation.
La valeur booléenne peut être représentée par 1, yes ou true pour true et 0, no ou false pour false.
Représentations de chaîne
Contrairement à d'autres langues, en Tcl, vous n'avez pas besoin d'inclure des guillemets doubles lorsqu'il ne s'agit que d'un seul mot. Un exemple peut être -
#!/usr/bin/tclsh
set myVariable hello
puts $myVariable
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
hello
Lorsque nous voulons représenter plusieurs chaînes, nous pouvons utiliser des guillemets doubles ou des accolades. Il est montré ci-dessous -
#!/usr/bin/tclsh
set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
hello world
hello world
Séquence d'échappement de chaîne
Un littéral de caractère peut être un caractère simple (par exemple, «x»), une séquence d'échappement (par exemple, «\ t») ou un caractère universel (par exemple, «\ u02C0»).
Il y a certains caractères dans Tcl quand ils sont précédés d'une barre oblique inverse, ils auront une signification spéciale et ils sont utilisés pour représenter comme une nouvelle ligne (\ n) ou une tabulation (\ t). Ici, vous avez une liste de certains de ces codes de séquence d'échappement -
Séquence d'échappement | Sens |
---|---|
\\ | \ personnage |
\ ' | ' personnage |
\ " | " personnage |
\? | ? personnage |
\une | Alerte ou cloche |
\ b | Retour arrière |
\F | Saut de formulaire |
\ n | Nouvelle ligne |
\ r | Retour chariot |
\ t | Onglet horizontal |
\ v | Onglet vertical |
Voici l'exemple pour montrer quelques caractères de séquence d'échappement -
#!/usr/bin/tclsh
puts "Hello\tWorld\n\nTutorialspoint";
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Hello World
Tutorialspoint
Commande de chaîne
La liste des sous-commandes pour la commande de chaîne est répertoriée dans le tableau suivant -
Sr.No. | Méthodes et description |
---|---|
1 | compare chaîne1 chaîne2 Compare lexographiquement string1 et string2. Renvoie 0 si égal, -1 si string1 précède string2, sinon 1. |
2 | first chaîne1 chaîne2 Renvoie la première occurrence d'index de string1 dans string2. S'il n'est pas trouvé, renvoie -1. |
3 | index index de chaîne Renvoie le caractère à l'index. |
4 | last chaîne1 chaîne2 Renvoie la dernière occurrence d'index de string1 dans string2. S'il n'est pas trouvé, renvoie -1. |
5 | length chaîne Renvoie la longueur de la chaîne. |
6 | match pattern chaîne Renvoie 1 si la chaîne correspond au modèle. |
sept | range chaîne index1 index2 Renvoie la plage de caractères dans la chaîne d'index1 à index2. |
8 | tolower chaîne Renvoie la chaîne en minuscules. |
9 | toupper chaîne Renvoie la chaîne en majuscules. |
dix | trim chaîne? trimcharacters? Supprime les caractères de coupe aux deux extrémités de la chaîne. Les caractères de découpage par défaut sont les espaces. |
11 | trimleft chaîne? trimcharacters? Supprime les caractères de découpage au début gauche de la chaîne. Les caractères de découpage par défaut sont les espaces. |
12 | trimright chaîne? trimcharacters? Supprime les caractères de coupe à l'extrémité gauche de la chaîne. Les caractères de découpage par défaut sont les espaces. |
13 | wordend index de chaîne de recherche Renvoie l'index dans la chaîne de recherche du caractère après le mot contenant le caractère à l'index. |
14 | wordstart index de chaîne de recherche Renvoie l'index dans la chaîne de recherche du premier caractère du mot contenant le caractère à l'index. |
Des exemples de certaines sous-commandes de chaîne Tcl couramment utilisées sont donnés ci-dessous.
Comparaison des chaînes
#!/usr/bin/tclsh
set s1 "Hello"
set s2 "World"
set s3 "World"
puts [string compare $s1 $s2]
if {[string compare $s2 $s3] == 0} {
puts "String \'s1\' and \'s2\' are same.";
}
if {[string compare $s1 $s2] == -1} {
puts "String \'s1\' comes before \'s2\'.";
}
if {[string compare $s2 $s1] == 1} {
puts "String \'s2\' comes after \'s1\'.";
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
-1
String 's1' and 's2' are same.
String 's1' comes before 's2'.
String 's2' comes after 's1'.
Index de la chaîne
#!/usr/bin/tclsh
set s1 "Hello World"
set s2 "o"
puts "First occurrence of $s2 in s1"
puts [string first $s2 $s1]
puts "Character at index 0 in s1"
puts [string index $s1 0]
puts "Last occurrence of $s2 in s1"
puts [string last $s2 $s1]
puts "Word end index in s1"
puts [string wordend $s1 20]
puts "Word start index in s1"
puts [string wordstart $s1 20]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
First occurrence of o in s1
4
Character at index 0 in s1
H
Last occurrence of o in s1
7
Word end index in s1
11
Word start index in s1
6
Longueur de chaîne
#!/usr/bin/tclsh
set s1 "Hello World"
puts "Length of string s1"
puts [string length $s1]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Length of string s1
11
Manipulation des cas
#!/usr/bin/tclsh
set s1 "Hello World"
puts "Uppercase string of s1"
puts [string toupper $s1]
puts "Lowercase string of s1"
puts [string tolower $s1]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Uppercase string of s1
HELLO WORLD
Lowercase string of s1
hello world
Rognage des caractères
#!/usr/bin/tclsh
set s1 "Hello World"
set s2 "World"
puts "Trim right $s2 in $s1"
puts [string trimright $s1 $s2]
set s2 "Hello"
puts "Trim left $s2 in $s1"
puts [string trimleft $s1 $s2]
set s1 " Hello World "
set s2 " "
puts "Trim characters s1 on both sides of s2"
puts [string trim $s1 $s2]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Trim right World in Hello World
Hello
Trim left Hello in Hello World
World
Trim characters s1 on both sides of s2
Hello World
Chaînes correspondantes
#!/usr/bin/tclsh
set s1 "[email protected]"
set s2 "*@*.com"
puts "Matching pattern s2 in s1"
puts [string match "*@*.com" $s1 ]
puts "Matching pattern tcl in s1"
puts [string match {tcl} $s1]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Matching pattern s2 in s1
1
Matching pattern tcl in s1
0
Ajouter la commande
#!/usr/bin/tclsh
set s1 "Hello"
append s1 " World"
puts $s1
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Hello World
Commande de format
Le tableau suivant montre la liste des spécificateurs de format disponibles dans Tcl -
Prescripteur | Utilisation |
---|---|
% s | Représentation de chaîne |
%ré | Représentation entière |
%F | Représentation en virgule flottante |
% e | Représentation en virgule flottante sous forme d'exposant mantisse |
%X | Représentation hexa décimale |
Quelques exemples simples sont donnés ci-dessous -
#!/usr/bin/tclsh
puts [format "%f" 43.5]
puts [format "%e" 43.5]
puts [format "%d %s" 4 tuts]
puts [format "%s" "Tcl Language"]
puts [format "%x" 40]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
43.500000
4.350000e+01
4 tuts
Tcl Language
28
Commande de scan
La commande Scan est utilisée pour analyser une chaîne basée sur le spécificateur de format. Quelques exemples sont présentés ci-dessous.
#!/usr/bin/tclsh
puts [scan "90" {%[0-9]} m]
puts [scan "abc" {%[a-z]} m]
puts [scan "abc" {%[A-Z]} m]
puts [scan "ABC" {%[A-Z]} m]
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
1
1
0
1