[java] java에서 String을 char로 변환 / 분석하는 방법은 무엇입니까?

Java에서 String값을 char유형으로 구문 분석하는 방법은 무엇입니까?

int 및 double (예 :)로 수행하는 방법을 알고 Integer.parseInt("123")있습니다. 문자열과 문자 클래스가 있습니까?



답변

문자열에 정확히 하나의 문자가 포함되어 있으면 문자열을 문자로 변환하는 가장 간단한 방법은 아마도 charAt메서드 를 호출하는 것입니다.

char c = s.charAt(0);


답변

Strings와 함께 .charAt (int) 함수를 사용하여 모든 인덱스에서 char 값을 검색 할 수 있습니다. String을 char 배열로 변환하려면 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);


답변

문자열의 길이가 1자인 경우 해당 문자를 사용하십시오 . 문자열이 1 자 길이가 아닌 경우 문자로 구문 분석 할 수 없습니다.


답변

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

 }

또는 개별적으로 원하는 경우 다음과 같이 할 수 있습니다.

char ch = string.charAt(1);


답변

org.apache.commons.lang.StringEscapeUtils . (un) EscapeJava 메소드는 원하는 것입니다.

brainzzy not not mine의 답변 :

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


답변

a String를 a 로 변환하는 가장 간단한 방법 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();
    }
}