Para más de un carácter: char [] c = s.toCharArray ();
67
Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir la cadena en una matriz de caracteres, intente llamar a .toCharArray () en la cadena.
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']
Pero eso se convertirá "123"en '1', ¿eso es lo que buscas?
aioobe
1
No quise usar específicamente "123". Solo estaba usando como ejemplo. Para char sería un ejemplo diferente como "p" ya que un char es un solo personaje, no múltiples.
Yokhen
1
la función toCharArray () devuelve una serie de caracteres en caso de que desee dividir su cadena en caracteres
Genjuro
8
Si la cadena tiene 1 carácter, simplemente tome ese carácter . Si la cadena no tiene 1 carácter, no se puede analizar en un carácter.
La forma más sencilla de convertir Stringa a chares usando 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
Puede que llegue un poco tarde, pero me pareció útil, entiendo cadena como String, y el título de la columna izquierda como Convertir a. :-)
ACTUALIZACIÓN: Entonces, finalmente recuperé mi contraseña, actualicé con texto copiable para que otros puedan simplemente copiar y pegar como siempre, y para otros que puedan obtener la indexación de los datos (si lo hace). :-) Feliz noviembre bigote.
¿Por qué pulgares abajo? Esto realmente responde la pregunta, por lo que puede verificar cómo analizar en otros tipos
Davide,
44
@Davide Probablemente porque las publicaciones no deben incluir la información importante como imagen cuando se puede publicar como texto. Las imágenes no se pueden buscar y copiar / pegar, a menudo están bloqueadas y no pueden ser leídas por usuarios que confían en lectores de pantalla.
Modus Tollens
Por favor, editar tu post y mostrar el texto real en lugar de las capturas. Otros no pueden copiar y pegar de sus imágenes. Ver aquí para más detalles. Gracias.
Pang
2
Estoy de acuerdo con la pregunta de @Davide: "¿Por qué rechazar?". Creo que esto hará que el usuario que obtuvo esto no contribuya con stackoverflow en el futuro y creo que este no debería ser el caso. ¡Desde mi punto de vista, "no me gusta" nunca debería usarse! Es negativo en su esencia y no aporta ningún valor en absoluto.
Marco
¿Estás seguro de que char --> StringGoesHere.parseFloat(int position);es correcto? Honestamente, no lo he verificado, pero estoy bastante seguro de Stringque no tiene un parseFloatmétodo, e incluso si lo tiene, no puedo ver por qué eso sería lo que intentaría hacer allí.
BeUndead
3
Si desea analizar una Cadena a un carácter, mientras que el objeto Cadena representa más de un carácter, simplemente use la siguiente expresión:
char c = (char) Integer.parseInt (s) . Donde s es igual a la cadena que desea analizar. La mayoría de las personas olvidan que los caracteres representan un número de 16 bits y, por lo tanto, pueden ser parte de cualquier expresión numérica :)
Esto está mal. Analizar una cadena en un número significa que el número se convirtió en una cadena y queremos recuperar el número. Exactamente de la misma manera, analizar un carácter de una cadena significa que el carácter se convirtió en una cadena y queremos que vuelva el carácter. El uso de un número intermedio no es lo que preguntó el OP.
Vlad
@Vlad Él pidió un número, porque eso es lo que chares, igual que inty double. Incluso dio el ejemplo String"123". ¿Y quién dice que no puede convertir un chara a Stringcon una longitud mayor que uno y viceversa? Pruébelo usted mismo con char c = 123: String.valueOf((int) c).equals("123")devoluciones true.
Adam Martinu
1
Lo siento, pero todo se reduce a los números, ese no es el punto de la pregunta. Puede echar un vistazo a la respuesta aceptada, que excluye claramente un intermedio int. Por su ejemplo, lo necesario para fundición a int, lo que significa que usted no está trabajando con el original char, pero con una int, que resulta corresponde de alguna manera a la 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));}}}
Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir la cadena en una matriz de caracteres, intente llamar a .toCharArray () en la cadena. Si la cadena tiene 1 carácter, simplemente tome ese carácter llamando a .charAt (0) (o .First () en C #).
Respuestas:
Si su cadena contiene exactamente un carácter, la forma más sencilla de convertirlo en un carácter es llamar al
charAt
método:fuente
Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir la cadena en una matriz de caracteres, intente llamar a .toCharArray () en la cadena.
fuente
puedes usar este truco:
fuente
"123"
en'1'
, ¿eso es lo que buscas?Si la cadena tiene 1 carácter, simplemente tome ese carácter . Si la cadena no tiene 1 carácter, no se puede analizar en un carácter.
fuente
o si lo desea individualmente, entonces puede como
fuente
org.apache.commons.lang.StringEscapeUtils . (un) Los métodos de EscapeJava son probablemente lo que quieres
Respuesta de brainzzy no mío:
https://stackoverflow.com/a/8736043/1130448
fuente
La forma más sencilla de convertir
String
a achar
es usandocharAt()
:Aquí hay un script completo:
fuente
Puede que llegue un poco tarde, pero me pareció útil, entiendo cadena como String, y el título de la columna izquierda como Convertir a. :-)
ACTUALIZACIÓN: Entonces, finalmente recuperé mi contraseña, actualicé con texto copiable para que otros puedan simplemente copiar y pegar como siempre, y para otros que puedan obtener la indexación de los datos (si lo hace). :-) Feliz noviembre bigote.
fuente
char --> StringGoesHere.parseFloat(int position);
es correcto? Honestamente, no lo he verificado, pero estoy bastante seguro deString
que no tiene unparseFloat
método, e incluso si lo tiene, no puedo ver por qué eso sería lo que intentaría hacer allí.Si desea analizar una Cadena a un carácter, mientras que el objeto Cadena representa más de un carácter, simplemente use la siguiente expresión: char c = (char) Integer.parseInt (s) . Donde s es igual a la cadena que desea analizar. La mayoría de las personas olvidan que los caracteres representan un número de 16 bits y, por lo tanto, pueden ser parte de cualquier expresión numérica :)
fuente
char
es, igual queint
ydouble
. Incluso dio el ejemploString
"123". ¿Y quién dice que no puede convertir unchar
a aString
con una longitud mayor que uno y viceversa? Pruébelo usted mismo conchar c = 123
:String.valueOf((int) c).equals("123")
devolucionestrue
.int
. Por su ejemplo, lo necesario para fundición aint
, lo que significa que usted no está trabajando con el originalchar
, pero con unaint
, que resulta corresponde de alguna manera a la originalchar
.fuente
Puedes hacer lo siguiente:
fuente
String str = "abc"; char[] char_str = str.toCharArray();
Simplemente puede usar
toCharArray()
para convertir una cadena a una matriz de caracteres:fuente
Una forma de ensayo:
Para la salida, vea este enlace: haga clic aquí
Gracias :-)
fuente
Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir la cadena en una matriz de caracteres, intente llamar a .toCharArray () en la cadena. Si la cadena tiene 1 carácter, simplemente tome ese carácter llamando a .charAt (0) (o .First () en C #).
fuente