Je sais comment calculer l'indice d'un certain caractère ou d'un certain nombre dans une chaîne de caractères, mais existe-t-il une méthode prédéfinie que je peux utiliser pour obtenir le caractère à l'endroit où se trouve l'indice ? nième position ? Ainsi, dans la chaîne "foo", si je demandais le caractère d'indice 0, il retournerait "f".
Remarque - dans la question ci-dessus, par "caractère", je n'entends pas le type de données char, mais une lettre ou un chiffre dans une chaîne. L'important ici est que je ne reçoive pas un caractère lorsque la méthode est invoquée, mais une chaîne de caractères (de longueur 1). Je connais la méthode substring(), mais je me demandais s'il n'y avait pas un moyen plus efficace.
13 votes
C'est le cas ? La réponse est assez simple.
0 votes
As-tu remarqué qu'il ne veut pas
char
valeur ? Et il sait comment fairesubstring()
mais veut juste un moyen plus "propre". Pour info, je peux dire quesubstring()
est le moyen le plus sûr.3 votes
@user845279
Character.toString
remplit toutes les conditions nécessaires et n'est pas du tout désordonné.0 votes
@pythonscript Je suis d'accord, mais ce n'est pas très différent de l'utilisation de
substring()
directement.0 votes
@user845279 - substring a la syntaxe suivante
substring(index, index + 1)
. J'aimerais éviter la partie "indice + 1".0 votes
@Bluefire Si c'est ce que vous essayez d'éviter, ma réponse devrait résoudre le problème.
substring
n'est pas idéal parce que si vous voulez la dernière lettre de la chaîne, vous ne pouvez pas utiliserindex + 1
car cela déclenchera une exception.1 votes
Je suis en retard à cette fête, mais @RicardoAltamirano se trompe un peu. Le site
endIndex
(deuxième paramètre) deString.substring(int, int)
est un exclusif indice, et il ne le fera pas lancer une exception pourindex + 1
à condition queindex < length()
-- ce qui est vrai même pour le dernier caractère de la chaîne.