En JavaScript, l'extraction de sous-chaînes s'effectue principalement via l'une des trois méthodes suivantes : Slice, Substring et Substr.
// substring
// Syntaxe : string.substring(indexA [, indexB])
"Bonne nouvelle à tous!".substring(5,9);
// 'news'
// substr
// Syntaxe : string.substr(start [, length])
"Bonne nouvelle à tous!".substr(5,4);
// 'news'
Mais ils diffèrent sur certains points importants :
1. La méthode substr() extrait le nombre spécifié de caractères à partir de la position spécifiée.
param : start est l'index de position pour commencer l'extraction des caractères, length est le nombre et la longueur des caractères extraits.
retour : une nouvelle chaîne. caractères de longueur commençant au début.
Les performances sont incohérentes dans différents navigateurs. Les navigateurs modernes autorisent le paramètre d'index de début à être un nombre négatif pour indiquer le nombre de caractères à extraire à partir de la fin de la chaîne. Cependant, dans les navigateurs IE8 et inférieurs, le paramètre d'index de démarrage minimum est calculé à partir de 0. [ substr est une fonctionnalité ECMAScript supplémentaire pour les navigateurs Web. Il n'est pas recommandé de l'utiliser lorsque l'index de départ est une valeur négative]
console.log("(1): " str.substr(1)); // (1): bcdefghij
console.log("(1,2): " str.substr(1,2 )); // (1,2) : avant JC
console.log("(-3): " str.substr(-3)); // (-3): hij
console.log("(-3,2): " str.substr (-3,2)); // (-3,2): salut
console.log("(20, 2): " str.substr(20,2)); // (20, 2):
console.log("(-20, 2): " str .substr(-20,2)); // (-20, 2) : ab
// ie8 et versions antérieures
console.log("(-3): " str.substr(-2)); // (-20, 2): hij
console.log("( -3, 2): " str.substr(-2)); // (-20, 2): la méthode ab
// Affiche "Moz"
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));
// Affiche "lla"
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));
// Affiche "Mozill"
console.log(anyString.substring(0,6));
// Affiche "Mozilla"
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));
3.slice extrait une partie de la chaîne.
param : L'index de position à laquelle startSlice commence à extraire les caractères, qui peuvent être négatifs, il est considéré comme (sourceLength-beginSlice est la longueur de la chaîne, c'est-à-dire : la longueur). position endSlice à partir de la fin de la chaîne. L'index de position du caractère auquel l'extraction se termine. En cas d'omission, l'extraction est terminée. S'il est négatif, il est traité comme (sourceLength-endSlice).
return : renvoie une nouvelle chaîne, commençant par start (y compris start) et se terminant par end (hors fin).
Tous les paramètres peuvent être négatifs. Si l'index est négatif, il sera compté à partir de la fin de la chaîne.
var str = "Le matin est à nos portes.";
str.slice(-3); // "nous."
str.slice(-3, -1); "
str.slice(0, -1); // "Le matin est à nos portes"