Maison > Article > interface Web > La différence entre substring(), substr() et slice() en javascript
Il existe trois fonctions d'interception de caractères couramment utilisées dans js : slice(), substring() et substr(). Présentons les fonctions de slice(), substring() et substr() dans l'interception de caractères. Quelques usages et différences.
stringObject.substring(start,stop)
est utilisé pour extraire la chaîne entre deux Spécifie les caractères entre les indices.
le démarrage est requis. Entier non négatif qui spécifie la position dans stringObject du premier caractère de la sous-chaîne à extraire.
l'arrêt est facultatif. Un entier non négatif qui représente une position dans stringObject qui est une de plus que le dernier caractère de la sous-chaîne à extraire. Si ce paramètre est omis, la sous-chaîne renvoyée ira à la fin de la chaîne.
start commence à 0 et se termine par stop (sans compter l'arrêt). Les paramètres négatifs ne sont pas acceptés.
stringObject.substr(start,length)
Peut extraire le nombre spécifié de caractères à partir de l'indice de début dans la chaîne
démarrage Obligatoire. L'index de départ de la sous-chaîne à extraire. Doit être une valeur numérique. S'il est négatif, ce paramètre déclare la position à partir de la fin de la chaîne. Autrement dit, -1 fait référence au dernier caractère de la chaîne, -2 fait référence à l'avant-dernier caractère, et ainsi de suite.
longueur facultative. Le nombre de caractères dans la sous-chaîne. Doit être une valeur numérique. Si ce paramètre est omis, la chaîne du début à la fin de stringObject est renvoyée.
stringObject.slice(start,end)
Extraire une certaine partie de la chaîne et renvoyer la partie extraite sous la forme d'une nouvelle section de chaîne
start L'index de départ du segment à extraire. S'il s'agit d'un nombre négatif, ce paramètre précise la position à partir de la fin de la chaîne. Autrement dit, -1 fait référence au dernier caractère de la chaîne, -2 fait référence à l'avant-dernier caractère, et ainsi de suite.
end L'index qui suit immédiatement la fin du segment à extraire. Si ce paramètre n'est pas précisé, la sous-chaîne à extraire inclut la chaîne du début à la fin de la chaîne d'origine. Si ce paramètre est négatif, il précise la position à partir de la fin de la chaîne.
Renvoie la nouvelle chaîne incluant tous les caractères de stringObject du début (y compris le début) à la fin (hors fin)
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(3)); //”lo world” alert(stringValue.substring(3)); //”lo world” alert(stringValue.substr(3)); //”lo world” alert(stringValue.slice(3,7)); //”lo w” alert(stringValue.substring(3,7)); //”lo w” alert(stringValue.substr(3,7)); //”lo worl”
S'il n'y a que un paramètre n parmi les trois, la chaîne restante sera renvoyée à partir de la nième position (la position est calculée à partir de 0)
S'il y a deux paramètres n, m, slice et substring retourneront le chaîne commençant à la n-ème position et se terminant à la m-ème position (sans compter la m-ème position), tandis que substr renverra m caractères commençant à la n-ème position.
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(-3)); //”rld” alert(stringValue.substring(-3)); //”hello world” alert(stringValue.substr(-3)); //”rld” alert(stringValue.slice(3,-4)); //”lo w” alert(stringValue.substring(3,-4)); //”hel” alert(stringValue.substr(3,-4)); //”"(空字符串)
Lorsque le paramètre est une valeur négative, slice ajoutera la valeur négative à la longueur de la chaîne (string.length), et substr ajoutera la valeur négative One argument plus la longueur de la chaîne, la seconde convertie en 0, la sous-chaîne convertira toutes les valeurs négatives en 0.
L'implémentation JavaScript d'IE a un problème lors de la gestion des valeurs négatives transmises à la méthode substr(), et elle renvoie la chaîne d'origine.
Ce qui précède représente l'intégralité du contenu de ce chapitre. Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo JavaScript !