Substr vs Substring

Accueil Tags Recherche

04 Décembre 2013

Substr vs Substring

Quand JavaScript veux faire plus complexe que complexe…

Récupérer un extrait d’une chaîne de caractère, c’est une opération bénigne que n’importe quel développeur à fait des centaines de fois. Pourtant, quand il m’arrive d’en faire en JavaScript, j’ai toujours un doute sur la fonction à utiliser… Présentation des jumelles démoniaques.

substr()

Cette première fonction prend deux paramètres : la position où l’extrait débute, et la longueur de cet extrait :

var str = 'Hello world !';
console.log(str.substr(2));    // "llo world !"
console.log(str.substr(2, 9)); // "llo wo"

substring()

Cette seconde fonction prend elle aussi 2 paramètres ! En revanche, il ne s’agit pas des mêmes : la position où l’extrait débute, et la position il se termine :

var str = 'Hello world !';
console.log(str.substring(2));    // "llo world !"
console.log(str.substring(2, 6)); // "llo "

Personnellement je n’utilise que substr(), parce que je suis habitué à ce fonctionnement en PHP. Malgré tout, je me pose la question à chaque fois, et je ne n’ai toujours pas trouvé de moyen mnémotechnique !

Liens

La fonction substr, sur MDN La fonction substring, sur MDN