Remarque: si vous êtes pressé et / ou recherchez une réponse courte, faites défiler jusqu'au bas de la réponse et lisez les deux dernières lignes. Si vous n'êtes pas pressé, lisez le tout.
permettez-moi de commencer par énoncer les faits:
Syntaxe:
string.slice(start,end)
string.substr(start,length)
string.substring(start,end)
Remarque n ° 1:slice()==substring()
Ce qu'il fait?
La slice()
méthode extrait des parties d'une chaîne et renvoie les parties extraites dans une nouvelle chaîne.
La substr()
méthode extrait des parties d'une chaîne en commençant par le caractère à la position spécifiée et renvoie le nombre de caractères spécifié.
La substring()
méthode extrait des parties d'une chaîne et renvoie les parties extraites dans une nouvelle chaîne.
Note 2:slice()==substring()
Modifie la chaîne d'origine?
slice()
Ne
substr()
fait pas
substring()
ne
note pas # 3:slice()==substring()
Utilisation de nombres négatifs comme argument:
slice()
sélectionne les caractères à partir de la fin de la chaîne
substr()
sélectionne les caractères à partir de la fin de la chaîne
substring()
Ne fonctionne pas
Remarque # 3:slice()==substr()
si le premier argument est supérieur au second:
slice()
ne fonctionne pas
substr()
car le deuxième argument n'est PAS une position, mais une valeur de longueur, il fonctionnera comme d'habitude, sans aucun problème
substring()
, échangera les deux arguments et fonctionnera comme d'habitude
le Premier Argument:
slice()
Obligatoire, indique: Index de Démarrage
substr()
Obligatoire, indique: Index de Démarrage
substring()
Obligatoire, indique: Index de Démarrage
Note # 4:slice()==substr()==substring()
le deuxième argument:
slice()
facultatif, la position (jusqu'à, mais non compris) où terminer l'extraction
substr()
facultative, le nombre de caractères à extraire
substring()
facultatif, la position (jusqu'à, mais non inclus) où terminer l'extraction
Remarque # 5:slice()==substring()
Et si le deuxième argument est omis?
slice()
sélectionne tous les caractères de la position de début à la fin de la chaîne
substr()
sélectionne tous les caractères de la position de début à la fin de la chaîne
substring()
sélectionne tous les caractères de la position de début à la fin de la chaîne
Remarque # 6:slice()==substr()==substring()
Donc, vous pouvez dire qu'il y a une différence entre slice()
et substr()
, alors qu'il substring()
s'agit essentiellement d'une copie de slice()
.
en résumé:
si vous connaissez l'index (la position) sur laquelle vous vous arrêterez (mais ne l'incluez pas), utilisez slice()
si vous connaissez la longueur des caractères à extraire, utilisez substr()
.
slice
est celle qui a le comportement le moins inattendu.