Pour plus d'un caractère: char [] c = s.toCharArray ();
67
Vous pouvez utiliser la fonction .charAt (int) avec Strings pour récupérer la valeur char à n'importe quel index. Si vous souhaitez convertir la chaîne en un tableau de caractères, essayez d'appeler .toCharArray () sur la chaîne.
String g ="line";char c = g.charAt(0);// returns 'l'char[] c_arr = g.toCharArray();// returns a length 4 char array ['l','i','n','e']
Mais cela se transformera "123"en '1', est que ce que vous êtes après?
aioobe
1
Je ne voulais pas utiliser spécifiquement "123". J'utilisais juste comme exemple. Pour char, ce serait un exemple différent comme "p" car un char est un seul caractère, pas plusieurs.
Yokhen
1
la fonction toCharArray () renvoie un tableau de caractères au cas où vous voudriez diviser votre chaîne en caractères
Genjuro
8
Si la chaîne comporte 1 caractère, prenez simplement ce caractère . Si la chaîne ne comporte pas 1 caractère, elle ne peut pas être analysée en un caractère.
La façon la plus simple de convertir un Stringen un charconsiste à utiliser charAt():
String stringAns="hello";char charAns=stringAns.charAt(0);//Gives You 'h'char charAns=stringAns.charAt(1);//Gives You 'e'char charAns=stringAns.charAt(2);//Gives You 'l'char charAns=stringAns.charAt(3);//Gives You 'l'char charAns=stringAns.charAt(4);//Gives You 'o'char charAns=stringAns.charAt(5);//Gives You:: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 5
Je suis peut-être un peu en retard mais j'ai trouvé cela utile, comprenez cadena comme String et le titre de la colonne de gauche comme Convert to. :-)
MISE À JOUR: Donc, j'ai finalement récupéré mon mot de passe, j'ai mis à jour avec du texte copiable afin que d'autres puissent simplement copier et coller comme toujours, et pour d'autres qui peuvent obtenir l'indexation des données (si c'est le cas). :-) Joyeuse moustache de novembre.
Pourquoi le pouce vers le bas? Cela répond vraiment à la question, afin que vous puissiez vérifier comment analyser dans d'autres types
Davide
4
@Davide Probablement parce que les publications ne doivent pas inclure les informations importantes sous forme d'image lorsqu'elles peuvent être publiées sous forme de texte. Les images ne peuvent pas être recherchées et copiées / collées, sont souvent bloquées et ne peuvent pas être lues par les utilisateurs utilisant des lecteurs d'écran.
Modus Tollens
Veuillez modifier votre message et afficher le texte réel au lieu de captures d'écran. D'autres ne peuvent pas copier et coller à partir de vos images. Voir ici pour plus de détails. Je vous remercie.
Pang
2
Je suis d'accord avec la question @Davide - "Pourquoi le pouce vers le bas?". Je pense que cela empêchera l'utilisateur qui l'a obtenu de contribuer à stackoverflow à l'avenir et je pense que cela ne devrait pas être le cas. De mon point de vue, le pouce vers le bas ne devrait jamais être utilisé! Il est négatif dans son essence et n'apporte aucune valeur.
Marco
Etes-vous sûr que char --> StringGoesHere.parseFloat(int position);c'est correct? Honnêtement, je n'ai pas vérifié, mais je suis assez sûr qu'il Stringn'y a pas de parseFloatméthode, et même si c'est le cas, je ne vois pas pourquoi ce serait ce que vous essayez de faire là-bas.
BeUndead
3
Si vous souhaitez analyser une chaîne en un caractère, alors que l'objet chaîne représente plusieurs caractères, vous utilisez simplement l'expression suivante:
char c = (char) Integer.parseInt (s) . Où s est égal à la chaîne que vous souhaitez analyser. La plupart des gens oublient que les caractères représentent un nombre de 16 bits et peuvent donc faire partie de n'importe quelle expression numérique :)
C'est faux. L'analyse d'une chaîne en un nombre signifie que le nombre a été converti en chaîne, et nous voulons récupérer le nombre. Exactement de la même manière, l'analyse d'un caractère à partir d'une chaîne signifie que le caractère a été converti en chaîne, et nous voulons que le caractère revienne. L'utilisation d'un numéro intermédiaire n'est pas ce que le PO a demandé.
Vlad
@Vlad Il a demandé un numéro, car c'est ce qu'est un char, tout comme intet double. Il a même donné l'exemple String"123". et qui dit que vous ne pouvez pas convertir un charen un Stringavec une longueur supérieure à un, et inversement? Essayez-le vous-même avec char c = 123: String.valueOf((int) c).equals("123")retours true.
Adam Martinu
1
Désolé, mais tout se résume aux chiffres, ce n'est pas le but de la question. Vous pouvez consulter la réponse acceptée, qui exclut clairement un intermédiaire int. Pour votre exemple, vous devez effectuer une conversion vers int, ce qui signifie que vous travaillez non pas avec l'original char, mais avec un int, qui correspond en quelque sorte à l'original char.
Vlad
2
import java.io.*;class ss1
{publicstaticvoid main(String args[]){String a =newString("sample");System.out.println("Result: ");for(int i=0;i<a.length();i++){System.out.println(a.charAt(i));}}}
Vous pouvez utiliser la fonction .charAt (int) avec Strings pour récupérer la valeur char à n'importe quel index. Si vous souhaitez convertir la chaîne en un tableau de caractères, essayez d'appeler .toCharArray () sur la chaîne. Si la chaîne contient 1 caractère, prenez simplement ce caractère en appelant .charAt (0) (ou .First () en C #).
Réponses:
Si votre chaîne contient exactement un caractère, la façon la plus simple de la convertir en caractère est probablement d'appeler la
charAt
méthode:la source
Vous pouvez utiliser la fonction .charAt (int) avec Strings pour récupérer la valeur char à n'importe quel index. Si vous souhaitez convertir la chaîne en un tableau de caractères, essayez d'appeler .toCharArray () sur la chaîne.
la source
vous pouvez utiliser cette astuce:
la source
"123"
en'1'
, est que ce que vous êtes après?Si la chaîne comporte 1 caractère, prenez simplement ce caractère . Si la chaîne ne comporte pas 1 caractère, elle ne peut pas être analysée en un caractère.
la source
ou si vous voulez individuellement, vous pouvez
la source
org.apache.commons.lang.StringEscapeUtils . (un) Les méthodes EscapeJava sont probaby ce que vous voulez
Réponse de brainzzy not mine:
https://stackoverflow.com/a/8736043/1130448
la source
La façon la plus simple de convertir un
String
en unchar
consiste à utilisercharAt()
:Voici un script complet:
la source
Je suis peut-être un peu en retard mais j'ai trouvé cela utile, comprenez cadena comme String et le titre de la colonne de gauche comme Convert to. :-)
MISE À JOUR: Donc, j'ai finalement récupéré mon mot de passe, j'ai mis à jour avec du texte copiable afin que d'autres puissent simplement copier et coller comme toujours, et pour d'autres qui peuvent obtenir l'indexation des données (si c'est le cas). :-) Joyeuse moustache de novembre.
la source
char --> StringGoesHere.parseFloat(int position);
c'est correct? Honnêtement, je n'ai pas vérifié, mais je suis assez sûr qu'ilString
n'y a pas deparseFloat
méthode, et même si c'est le cas, je ne vois pas pourquoi ce serait ce que vous essayez de faire là-bas.Si vous souhaitez analyser une chaîne en un caractère, alors que l'objet chaîne représente plusieurs caractères, vous utilisez simplement l'expression suivante: char c = (char) Integer.parseInt (s) . Où s est égal à la chaîne que vous souhaitez analyser. La plupart des gens oublient que les caractères représentent un nombre de 16 bits et peuvent donc faire partie de n'importe quelle expression numérique :)
la source
char
, tout commeint
etdouble
. Il a même donné l'exempleString
"123". et qui dit que vous ne pouvez pas convertir unchar
en unString
avec une longueur supérieure à un, et inversement? Essayez-le vous-même avecchar c = 123
:String.valueOf((int) c).equals("123")
retourstrue
.int
. Pour votre exemple, vous devez effectuer une conversion versint
, ce qui signifie que vous travaillez non pas avec l'originalchar
, mais avec unint
, qui correspond en quelque sorte à l'originalchar
.la source
Vous pouvez effectuer les opérations suivantes:
la source
String str = "abc"; char[] char_str = str.toCharArray();
Vous pouvez simplement utiliser le
toCharArray()
pour convertir une chaîne en tableau de caractères:la source
Une façon d'essayer:
Pour la sortie, voir ce lien: Cliquez ici
Merci :-)
la source
Vous pouvez utiliser la fonction .charAt (int) avec Strings pour récupérer la valeur char à n'importe quel index. Si vous souhaitez convertir la chaîne en un tableau de caractères, essayez d'appeler .toCharArray () sur la chaîne. Si la chaîne contient 1 caractère, prenez simplement ce caractère en appelant .charAt (0) (ou .First () en C #).
la source