80 votes

javascript sous-chaîne

le plus de chose possible! le code suivant affiche 'llo' au lieu de l'attendu "wo". je reçois ces résultats surprenants pour les quelques autres chiffres. ce qui me manque ici?

alert('helloworld'.substring(5, 2));

105voto

Christoph Points 64389

Vous êtes confus substring() et substr(): substring() attend deux indices et pas de décalage et de la longueur. Dans votre cas, les indices sont de 5 et 2, c'est à dire les caractères 2..4 sera retourné comme la plus élevée de l'indice est exclue.

65voto

Chirag Points 408

Vous disposez de trois options en Javascript:

//slice
//syntax: string.slice(start [, stop])
"Good news, everyone!".slice(5,9); // extracts 'news'

//substring 
//syntax: string.substring(start [, stop])
"Good news, everyone!".substring(5,9); // extracts 'news'

//substr
//syntax: string.substr(start [, length])
"Good news, everyone!".substr(5,4); // extracts 'news'

17voto

Pekka 웃 Points 249607

Vérifier l' substring syntaxe:

substring(de, à)

de Requis. L'indice de l'endroit où démarrer l'extraction. Premier caractère est à l'index 0

pour Facultatif. L'indice où arrêter l'extraction. Si omis, il extrait le reste de la chaîne

Je vous l'accorde c'est un peu bizarre. Ne le savais pas moi-même.

Ce que vous voulez faire est

alert('helloworld'.substring(5, 7));

2voto

AutomatedTester Points 14713
alert('helloworld'.substring(5, 2));

Le code ci-dessus est incorrecte, car la première valeur est le point de départ au point de fin.E.g passer de char 5 qui est - o et aller en char 2, qui est l' l m'a llo , de Sorte que vous lui avez dit pour revenir en arrière.

Ce yuou voulez est

alert('helloworld'.substring(5, 7));

2voto

Alexandre Diacov Points 436

Voir la syntaxe ci-dessous:

str.substring(indexA, [indexB])

Si indexA > indexB, substring() fonction se comporte comme si les arguments ont été inversés.

Examiner la documentation ici: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substring

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X