¿Cómo convertir / analizar de String a char en java?

¿Cómo puedo analizar un valor String en Java a un tipo de caracteres?

Sé cómo hacerlo en int y double (por ejemplo, Integer.parseInt (“123”)), ¿hay una clase para cadenas y caracteres?

Si su cadena contiene exactamente un carácter, la forma más sencilla de convertirlo en un personaje es, probablemente, llamar al método charAt :

 char c = s.charAt(0); 

Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir el String en un arreglo char, intente llamar a .toCharArray () en el String.

 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'] 

puedes usar este truco:

 String s = "p"; char c = s.charAt(0); 

Si la cadena tiene 1 carácter, simplemente toma ese personaje . Si la cadena no tiene 1 carácter, no se puede analizar en un carácter.

  String string = "This is Yasir Shabbir "; for(char ch : string.toCharArray()){ } 

o si quieres individualmente, entonces puedes como

 char ch = string.charAt(1); 

org.apache.commons.lang.StringEscapeUtils . (un) Los métodos de EscapeJava son probaby lo que quieras

Respuesta de brainzzy no mío:

https://stackoverflow.com/a/8736043/1130448

Si desea analizar un String en un char, mientras que el objeto String 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 la gente olvida que los caracteres representan un número de 16 bits y, por lo tanto, pueden formar parte de cualquier expresión numérica 🙂

La forma más sencilla de convertir un String en un char es usar 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 

Aquí hay un guión completo:

 import java.util.Scanner; class demo { String accNo,name,fatherName,motherName; int age; static double rate=0.25; static double balance=1000; Scanner scanString=new Scanner(System.in); Scanner scanNum=new Scanner(System.in); void input() { System.out.print("Account Number:"); accNo=scanString.nextLine(); System.out.print("Name:"); name=scanString.nextLine(); System.out.print("Father's Name:"); fatherName=scanString.nextLine(); System.out.print("Mother's Name:"); motherName=scanString.nextLine(); System.out.print("Age:"); age=scanNum.nextInt(); System.out.println(); } void withdraw() { System.out.print("How Much:"); double withdraw=scanNum.nextDouble(); balance=balance-withdraw; if(balance<1000) { System.out.println("Invalid Data Entry\n Balance below Rs 1000 not allowed"); System.exit(0); } } void deposit() { System.out.print("How Much:"); double deposit=scanNum.nextDouble(); balance=balance+deposit; } void display() { System.out.println("Your Balnce:Rs "+balance); } void oneYear() { System.out.println("After one year:"); balance+=balance*rate*0.01; } public static void main(String args[]) { demo d1=new demo(); d1.input(); d1.display(); while(true) {//Withdraw/Deposit System.out.println("Withdraw/Deposit Press W/D:"); String reply1= ((d1.scanString.nextLine()).toLowerCase()).trim(); char reply=reply1.charAt(0); if(reply=='w') { d1.withdraw(); } else if(reply=='d') { d1.deposit(); } else { System.out.println("Invalid Entry"); } //More Manipulation System.out.println("Want More Manipulations: Y/N:"); String manipulation1= ((d1.scanString.nextLine()).toLowerCase()).trim(); char manipulation=manipulation1.charAt(0); System.out.println(manipulation); if(manipulation=='y') { } else if(manipulation=='n') { break; } else { System.out.println("Invalid Entry"); break; } } d1.oneYear(); d1.display(); } } 
 import java.io.*; class ss1 { public static void main(String args[]) { String a = new String("sample"); System.out.println("Result: "); for(int i=0;i 

Puedes hacer lo siguiente:

 String str = "abcd"; char arr[] = new char[len]; // len is the length of the array arr = str.toCharArray(); 

Simplemente puede usar toCharArray() para convertir una cadena a una matriz de caracteres:

  Scanner s=new Scanner(System.in); System.out.print("Enter some String:"); String str=s.nextLine(); char a[]=str.toCharArray(); 

Puede usar la función .charAt (int) con Strings para recuperar el valor char en cualquier índice. Si desea convertir el String en un arreglo char, intente llamar a .toCharArray () en el String. Si la cadena tiene 1 carácter, simplemente tome ese carácter llamando a .charAt (0) (o .Primero () en C #).

Puede que llegue un poco tarde, pero me pareció útil, entendí Cadena como Cadena y el título de la columna a la izquierda como Convertir a. 🙂

Tabla de conversión

Una forma de ensayo:

 public class CharToInt{ public static void main(String[] poo){ String ss="toyota"; for(int i=0;i 

Para la salida vea este enlace: Haga clic aquí

Gracias 🙂