it-swarm.com.de

Wie konvertiert/konvertiert man von String nach Char in Java?

Wie analysiere ich einen String-Wert in Java zu einem char-Typ? 

Ich weiß, wie man int und double macht (zum Beispiel Integer.parseInt ("123")). Gibt es eine Klasse für Strings und Chars?

177
Yokhen

Wenn Ihre Zeichenfolge genau ein Zeichen enthält, können Sie die Methode charAt wahrscheinlich am einfachsten in ein Zeichen konvertieren:

char c = s.charAt(0);
271
Mark Byers

Sie können die Funktion .charAt (int) mit Strings verwenden, um den Char-Wert an einem beliebigen Index abzurufen. Wenn Sie den String in ein Char-Array konvertieren möchten, rufen Sie .toCharArray () für den String auf.

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']
64
Gaʀʀʏ

sie können diesen Trick verwenden:

String s = "p";

char c = s.charAt(0);
48
Genjuro

Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie einfach das Zeichen . Wenn die Zeichenfolge nicht 1 Zeichen lang ist, kann sie nicht in ein Zeichen zerlegt werden.

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

 }

oder wenn du es individuell willst, kannst du es als

char ch = string.charAt(1);

org.Apache.commons.lang.StringEscapeUtils . (un) EscapeJava-Methoden sind wahrscheinlich das, was Sie wollen

Antwort von brainzzy nicht meins:

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

4
sinekonata

Die einfachste Möglichkeit, eine String in eine char umzuwandeln, ist 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

Hier ist ein vollständiges Skript:

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

Wenn Sie einen String in ein Char parsen möchten, während das String-Objekt mehr als ein Zeichen darstellt, verwenden Sie einfach den folgenden Ausdruck: char c = (char) Integer.parseInt (s) . Wobei s der Zeichenfolge entspricht, die Sie analysieren möchten. Die meisten Leute vergessen, dass Zeichen eine 16-Bit-Zahl darstellen und daher Teil von any numerischer Ausdrücke sein können :)

3
Adam Martinu
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));
        }
    }
}
2
user6307216

Sie können einfach mit der Funktion toCharArray() eine Zeichenfolge in ein Char-Array konvertieren:

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

Sie können Folgendes tun:

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

Ich bin zwar etwas spät dran, aber ich fand das nützlich, verstehe Cadena als String und den linken Spaltentitel als Convert to. :-)

UPDATE: Also habe ich endlich mein Passwort zurückbekommen, ich habe es mit kopierbarem Text aktualisiert, damit andere wie gewohnt kopieren und einfügen können, und für einige andere die Indexierung der Daten erhalten können (falls dies der Fall ist). :-) Glücklicher November-Schnurrbart.

 Convertion Table

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

Ein Essay-Weg:

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

Für die Ausgabe siehe diesen Link: Hier klicken

Vielen Dank :-) 

0
Shivanandam

Sie können die Funktion .charAt (int) mit Strings verwenden, um den Char-Wert an einem beliebigen Index abzurufen. Wenn Sie den String in ein Char-Array konvertieren möchten, rufen Sie .toCharArray () für den String auf. Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie dieses Zeichen einfach durch Aufruf von .charAt (0) (oder .First () in C #).

0
Mayer Spitzer