Hoe te converteren / parse van string naar Char in Java?

Hoe leem ik een StringWaarde naar een charType, in Java?

Ik weet hoe ik het moet doen om te int en verdubbelen (bijvoorbeeld Integer.parseInt("123")).
Is er een klas voor snaren en tekens?


Antwoord 1, Autoriteit 100%

Als uw string precies één teken bevat, is de eenvoudigste manier om het om te zetten naar een personage is waarschijnlijk om de charAtmethode:

char c = s.charAt(0);

Antwoord 2, Autoriteit 22%

U kunt de . Charat (INT) functie met strings om de char-waarde bij elke index op te halen. Als u de tekenreeks naar een array wilt converteren, probeer dan . Tocharray () op de reeks.

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

Antwoord 3, Autoriteit 15%

U kunt deze truc gebruiken:

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

Antwoord 4, Autoriteit 3%

Als de string 1 teken lang is, slechts Neem dat personage . Als de string niet lang 1 teken is, kan het niet in een personage worden geparseerd.


Antwoord 5, Autoriteit 2%

Ik vond dit nuttig:

double  --> Double.parseDouble(String);
float   --> Float.parseFloat(String);
long    --> Long.parseLong(String);
int     --> Integer.parseInt(String);
char    --> stringGoesHere.charAt(int position);
short   --> Short.parseShort(String);
byte    --> Byte.parseByte(String);
boolean --> Boolean.parseBoolean(String);

Antwoord 6, autoriteit 2%

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

of Als je individueel wilt, dan kan dat als

char ch = string.charAt(1);

Antwoord 7

org.apache.commons.lang.StringEscapeUtils.(un)EscapeJava-methoden zijn waarschijnlijk wat je wilt

Antwoord van brainzzy, niet van mij :

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


Antwoord 8

De eenvoudigste manier om een Stringnaar een charte converteren, is door charAt()te gebruiken:

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

Hier is een volledige script:

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();   
    }
}

Antwoord 9

Als je een String naar een char wilt ontleden, terwijl het String-object meer dan één teken vertegenwoordigt, gebruik je gewoon de volgende expressie:
char c = (char) Integer.parseInt(s).
Waar sgelijk is aan de tekenreeks die u wilt ontleden. De meeste mensen vergeten dat char’s een 16-bits getal vertegenwoordigen en dus deel kunnen uitmaken van elkenumerieke uitdrukking 🙂


Antwoord 10

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));
        }
    }
}

Antwoord 11

U kunt het volgende doen:

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

Antwoord 12

Je kunt gewoon de toCharArray()gebruiken om een string naar char array te converteren:

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

Antwoord 13

Een Essay-manier:

public class CharToInt{  
public static void main(String[] poo){  
String ss="toyota";
for(int i=0;i<ss.length();i++)
  {
     char c = ss.charAt(i); 
    // int a=c;  
     System.out.println(c); } } 
} 

Voor uitvoer zie deze link: Klik hier

Bedankt 🙂


Antwoord 14

U kunt de gebruiken .charAt(int)functie met Strings om de char-waarde bij elke index op te halen. Als je de String naar een char-array wilt converteren, probeer dan .toCharArray()op de String. Als de tekenreeks 1 teken lang is, neem dan dat teken door .charAt(0) (of .First() in C#) aan te roepen.

Other episodes