如何转换/parsing从string到Java中的字符?

如何parsingJava中的String值为chartypes?

我知道如何做int和double(例如Integer.parseInt(“123”)),是否有一个类的string和字符?

如果你的string只包含一个字符,那么最简单的方法就是调用charAt方法:

 char c = s.charAt(0); 

您可以使用带string的.charAt(int)函数来检索任何索引处的char值。 如果要将string转换为字符数组,请尝试在string上调用.toCharArray() 。

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

你可以使用这个技巧:

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

如果string是1个字符长, 就拿那个字符 。 如果string不是1个字符,则不能被parsing为字符。

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

或者如果你想单独的话,你可以

 char ch = string.charAt(1); 

org.apache.commons.lang.StringEscapeUtils 。(un)EscapeJava方法是probaby你想要的

回答brainzzy不是我的:

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

如果要将stringparsing为字符,而String对象表示多个字符,则只需使用以下expression式: char c =(char)Integer.parseInt(s)s等于你想要parsing的string。 大多数人忘记char代表一个16位的数字,因此可以是任何数字expression的一部分:)

String转换为char的最简单方法是使用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 

这是一个完整的脚本:

 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<a.length();i++) { System.out.println(a.charAt(i)); } } } 

您可以使用带string的.charAt(int)函数来检索任何索引处的char值。 如果要将string转换为字符数组,请尝试在string上调用.toCharArray()。 如果string长度为1个字符,只需通过在C#中调用.charAt(0)(或.First())来获取该字符。

您可以执行以下操作:

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

你可以试试这个,简短而有效:

 public void(String word){ int longitud = word.length(); String arregloDado[] = new String[longitud]; for(int i = 0; i < arregloDado.length; i++){ arregloDado[i] = Character.toString(word.charAt(i)); } } 

我可能会有点晚,但我发现这个有用,了解cadena作为string,并将列标题作为转换为。 🙂

转换表