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().
sliceest celle qui a le comportement le moins inattendu.