Maison >interface Web >js tutoriel >Explication détaillée des exemples d'utilisation et de comparaison des différences de trois fonctions de chaîne d'interception en JavaScript
En JavaScript, l'extraction de sous-chaînes s'effectue principalement via l'une des trois méthodes suivantes : Slice, Substring et Substr.
// slice // 语法: string.slice(start [, stop]) "Good news, everyone!".slice(5,9); // 'news' // substring // 语法: string.substring(indexA [, indexB]) "Good news, everyone!".substring(5,9); // 'news' // substr // 语法: string.substr(start [, length]) "Good news, everyone!".substr(5,4); // 'news'
Entrez un paramètre d'index de début et un paramètre d'index de fin (ou de longueur) facultatif parmi les trois méthodes.
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]
var str = "abcdefghij"; console.log("(1): " + str.substr(1)); // (1): bcdefghij console.log("(1,2): " + str.substr(1,2)); // (1,2): bc console.log("(-3): " + str.substr(-3)); // (-3): hij console.log("(-3,2): " + str.substr(-3,2)); // (-3,2): hi console.log("(20, 2): " + str.substr(20,2)); // (20, 2): console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab // ie8及以下 console.log("(-3): " + str.substr(-2)); // (-20, 2): hij console.log("(-3, 2): " + str.substr(-2)); // (-20, 2): ab
2. un index et un autre sous-ensemble, ou jusqu'à la fin de la chaîne.
param : indexA, indexB La plage de valeurs des deux paramètres est un entier compris entre 0 et la longueur de la chaîne.
return : renvoie une nouvelle chaîne, en commençant par le petit index jusqu'au grand index, y compris les caractères à la position du petit index, à l'exclusion des caractères à la position du grand index.
Les paramètres de la sous-chaîne sont réversibles, elle commence toujours par une petite valeur de paramètre et se termine par une grande valeur de paramètre. Si l'argument est inférieur à 0 ou NaN, il est traité comme 0, si l'argument est supérieur à la longueur de la chaîne, il est traité comme la valeur de longueur de la chaîne
// assumes a print function is defined var anyString = "Mozilla"; // Displays "Moz" console.log(anyString.substring(0,3)); console.log(anyString.substring(3,0)); // Displays "lla" console.log(anyString.substring(4,7)); console.log(anyString.substring(7,4)); // Displays "Mozill" console.log(anyString.substring(0,6)); // Displays "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 beginSlice commence à extraire les caractères. Il peut être négatif. S'il s'agit d'une valeur négative, elle est considérée comme (sourceLength-beginSlice est la longueur de la chaîne). 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 str1 = "The morning is upon us."; console.log(str1.slice(4, -2)); // morning is upon u var str = "The morning is upon us."; str.slice(-3); // "us." str.slice(-3, -1); // "us" str.slice(0, -1); // "The morning is upon us"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!