Editée le : 2020-04-22
cette instruction permet d'extraire tout ou partie d'une chaine de caractères.
Considérons les chaines de caractères suivante:
|
Expression attendu |
code js associé |
Résultats |
Commentaires |
|
extraire les n caractères à gauche. |
var left = chaine.substring(0, 3) ; |
expected output: "Moz"; |
|
|
extraire les n caractères à droite. |
var right = chaine.substring(chaine.length-3) ; |
expected output: "lla"; |
|
|
extraire les caractères entre 2 bornes. |
var borne = chaine.substring(1, 3) ; |
expected output: "oz"; |
|
|
Tous les caractères à droite de la position p. |
var right_of = chaine.substring(2); // |
expected output: "zilla"; |
|
|
extraire n caractères depuis la position p. |
var right_of = chaine.substring(2, 2+2); // |
expected output: "zi"; |
|
|
extraire les caractères à gauche d'une sous-chaine. |
var left$ = chaine.substring( 0, chaine.indexOf(debut) ); |
expected output: "Mo"; |
|
|
extraire les caractères à doite d'une sous-chaine. |
var right$ = chaine.substring( chaine.indexOf(fin) + fin.length ); |
expected output: "a"; |
|
|
extraire les caractères situés entre 2 sous-chaines. |
var borne$ = chaine.substring( chaine.indexOf(debut) + 1, chaine.indexOf(fin) ); alert( borne$ );// |
expected output: "i"; |
|
|
|
|
|
|
|
Expression attendu |
code js associé |
Résultats |
Commentaires |
|
extraire les n caractères à gauche. |
var left = chaine.slice(0, 3) ; |
expected output: "Moz"; |
|
|
extraire les n caractères à droite. |
var right = chaine.slice(chaine.length-3) ; |
expected output: "lla"; |
|
|
extraire les caractères entre 2 bornes. |
var borne = chaine.slice(1, 3) ; |
expected output: "oz"; |
|
|
Tous les caractères à droite de la position p. |
var right_of = chaine.slice(2); // |
expected output: "zilla"; |
|
|
extraire n caractères depuis la position p. |
var right_of = chaine.slice(2, 2+2); // |
expected output: "zi"; |
|
|
extraire les caractères à gauche d'une sous-chaine. |
var left$ = chaine.slice( 0, chaine.indexOf(debut) ); |
expected output: "Mo"; |
|
|
extraire les caractères à droite d'une sous-chaine. |
var right$ = chaine.slice( chaine.indexOf(fin) + fin.length ); |
expected output: "a"; |
|
|
extraire les caractères situés entre 2 sous-chaines. |
var borne$ = chaine.slice( chaine.indexOf(debut) + 1, chaine.indexOf(fin) ); alert( borne$ );// |
expected output: "i"; |
|
|
|
|
|
|
|
|
slice() |
substring() |
Commentaires |
|
si start > stop var borne = chaine.slice(3, 1) ;
|
|
||
|
start négatif var borne = chaine.slice(-1, 3) ;
|
|
|
|
|
stop négatif var borne = chaine.slice(1, -1) ;
|
|
|
|
|
un seul item négatif var borne = chaine.slice(-2) ;
|
|
||
|
stop > chaine.length var borne = chaine.slice(3, 10) ;
|
stop = chaine.length |
A ce stade pour pour des raison essentiellement mémo thecniques, nous préfèrerons substring() à slice();
slice() sera plutôt réservée aux Array;
| Méthode |
|
|
|
Firefox: 52 et + |
|
|
Edge |
|
|
Chrome: 60 et + |
|
|
Opéra: 49 et + |
|
|
IE8 non testé; IE8 nécessite ../cnx_oldIE/cnx.oldIE.js |
|
|
Safari non testé |
Vous pouvez charger la bibliothèque cnx() comme ceci entre vos balises <head>
<script src="../dossier/cnx.version.js"></script>
Dossier est le nom du répertoire où vous avez placé le fichier cnx; et
cnx.version.js le nom de ce fichier.
Pour nous contacter: claudecnx@blanquefort.net