-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path06_chainesdecarateres.html
More file actions
117 lines (89 loc) · 3.69 KB
/
Copy path06_chainesdecarateres.html
File metadata and controls
117 lines (89 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>06 - Chaînes de caratères</title>
<script>
// Chaînes
var phrase = "J'aime Javascript et Java aussi.";
//Propriétés
//Longueur
console.log("Longueur de la phrase : " + phrase.length);
//Indexeur
var caractere = phrase[7];
console.log("Caractere en position 7 : " + caractere);
// Une chaine de caracteres n'est pas un tableau
//phrase[7] = "T" ne marche pas;
//méthodes
//toUpperCase()
console.log("Phrase en majuscules : " + phrase.toUpperCase());
//split() - coupe une chaîne de caractères et retourne un tableau contenant les parties obtenues
// La chaîne est coupée sur un caractère de séparation précisé lors de l'appel
var mots = phrase.split(" ");
console.log("La phrase contient " + mots.length + "mots :");
for (var i =0; i<mots.length; i++)
console.log(mots[i]);
console.log(mots);
//indoxOf() - permet de chercher une sous-chaîne dans une chaîne
// Cette fonction ne retourne que la premiere position trouvée
var pos = phrase.indexOf("a");
console.log("Le premier 'a' apparait à la position : " + pos);
var pos = phrase.indexOf("Java");
console.log("La chaine 'Java' apparait la premiere fois à la position : " + pos);
//tester si la recherche est sensible à la casse
var pos = phrase.indexOf("java");
console.log("La chaine 'java' apparait à la position : " + pos);
// Constats
// La recherche est sensible à la casse
// Si la sous-chaîne n'est pas trouvée, indexOf retourne -1
// indexOf(chaine à rechercher, positionDebutRecherche)
//ex1
// Chercher à afficher toutes les occurences du caractère "a" dans la phrase
for (i=0; i<phrase.length; i++){
console.log(phrase.indexOf("a", i));
}
//ex2
//Donner un exemple d'utilisation de last index of
//Comparaison des chaines :
//Contrairement à java, qui utilise .equals pour les chaînes de caractères
//Javascript utlise ==, <, >, !=
var chaine1 = "Bonjour";
var chaine2 = "Bonjour";
if (chaine1 > chaine2)
console.log('"'+ chaine1 + " est plus grand que " + chaine2 +'"');
else if (chaine1 < chaine2)
console.log('"'+ chaine1 + " est plus petit que " + chaine2 +'"');
else
console.log('"'+ chaine1 + " est égal à " + chaine2 +'"');
//replace()
//Permet de remplacer une sous-chaine par une autre
// Remplacer Java par la chaîne "__"
var chaine = phrase.replace("Java", "__");
console.log("Chaine obtenue en remplaçant Java par '__'" + chaine );
// Constat : le changement a été limité à la première occurence
// Si on souhaite un remplacement global, je doit utiliser une expression regulière
chaine = phrase.replace(/Java/g, "__");
console.log("Remplacement global : " + chaine);
//trim() - supprime les espaces (ou assimilés) qui précèdent ou suivent une chaine
chaine = " chaine avec des espaces à gauche et à droite ";
console.log("|" + chaine + "|");
chaine = chaine.trim();
console.log("|" + chaine + "|");
//definir le modele à utiliser pour trouver les espaces et les caractères assimilés
// \s - espace
// \0x09 - tabulation
// \0xA0 - espace insecable
// Pattern à rechercher
// Expression : /^[\s\0x09\0xA0]+ | [\s\0x09\0xA0]+$/g
// Explications
// + est un caractere de multiplication
//^signifie le début de la chaine
// $ signifie la fin de la chaine
// | est l'opérateur ou
//
//Exercice une methode monTrim() utilisant le pattern précédent l'intégrer dans le prototype de String (String.prototye) (voir cours Array)
</script>
</head>
<body>
</body>
</html>