Como converter / parse de String para char em java?

Como faço para analisar um valor String em Java para um tipo char ?

Eu sei como fazer isso para int e double (por exemplo, Integer.parseInt (“123”)), existe uma class para seqüências de caracteres e caracteres?

Se sua string contiver exatamente um caractere, a maneira mais simples de convertê-lo em um caractere é provavelmente chamar o método charAt :

 char c = s.charAt(0); 

Você pode usar a function .charAt (int) com Strings para recuperar o valor de caractere em qualquer índice. Se você quiser converter a String em uma matriz char, tente chamar .toCharArray () na 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'] 

você pode usar esse truque:

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

Se a string tiver 1 caractere, pegue esse caractere . Se a string não tiver 1 caractere, ela não poderá ser analisada em um caractere.

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

ou se você quiser individualmente, então você pode como

 char ch = string.charAt(1); 

org.apache.commons.lang.StringEscapeUtils . (un) Os methods EscapeJava são o que você deseja

Resposta do brainzzy não meu:

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

Se você quiser analisar uma String para um char, enquanto o object String representa mais de um caractere, basta usar a seguinte expressão: char c = (char) Integer.parseInt (s) . Onde s é igual a String que você deseja analisar. A maioria das pessoas esquece que os caracteres representam um número de 16 bits e, portanto, podem fazer parte de qualquer expressão numérica 🙂

A maneira mais simples de converter um String em um char é 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 

Aqui está um script 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 

Você pode fazer o seguinte:

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

Você pode simplesmente usar o toCharArray() para converter uma string em char array:

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

Você pode usar a function .charAt (int) com Strings para recuperar o valor de caractere em qualquer índice. Se você quiser converter a String em uma matriz char, tente chamar .toCharArray () na String. Se a string tiver 1 caractere, pegue esse caractere chamando .charAt (0) (ou .First () em C #).

Eu posso estar um pouco atrasado, mas eu achei isso útil, entendi a cadena como String e deixei o título da coluna como Convert to. 🙂

Tabela de Conversão

Uma maneira de ensaio:

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

Para saída, veja este link: Clique aqui

Obrigado 🙂