Ja, aber ich sehe keine Methode darin, die mir hilft, einen String wie "a" in ein
Zeichen
5
Ich denke nicht, dass es ein Duplikat ist. Ich versuche nur einen einzelnen Buchstaben umzuwandeln.
Yokhen
Antworten:
295
Wenn Ihre Zeichenfolge genau ein Zeichen enthält, können Sie sie am einfachsten in ein Zeichen konvertieren, indem Sie die folgende charAtMethode aufrufen :
Für mehr als ein Zeichen: char [] c = s.toCharArray ();
67
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert 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']
Aber das wird sich "123"in etwas verwandeln '1', ist es das, wonach Sie suchen?
Aioobe
1
Ich wollte nicht speziell "123" verwenden. Ich habe nur als Beispiel verwendet. Für char wäre es ein anderes Beispiel wie "p", da ein char ein einzelnes Zeichen ist, nicht mehrere.
Yokhen
1
Die Funktion toCharArray () gibt ein Array von Zeichen zurück, falls Sie Ihren String in Zeichen
aufteilen
8
Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie einfach dieses Zeichen . Wenn die Zeichenfolge nicht 1 Zeichen lang ist, kann sie nicht in ein Zeichen analysiert werden.
Der einfachste Weg, a Stringin a umzuwandeln , charist 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
Ich bin vielleicht etwas spät dran, aber ich fand das nützlich, verstehe Kadena als String und den Titel der linken Spalte als Konvertieren in. :-)
UPDATE: Also habe ich endlich mein Passwort zurückbekommen, ich habe es mit kopierbarem Text aktualisiert, damit andere wie immer einfach kopieren und einfügen können, und für einige andere, die eine Indizierung der Daten erhalten können (falls dies der Fall ist). :-) Fröhlichen November Schnurrbart.
Warum Daumen runter? Dies beantwortet wirklich die Frage, so dass Sie überprüfen können, wie in anderen Typen zu analysieren
Davide
4
@Davide Wahrscheinlich, weil Beiträge die wichtigen Informationen nicht als Bild enthalten sollten, wenn sie als Text veröffentlicht werden können. Bilder können nicht gesucht und kopiert / eingefügt werden, werden häufig blockiert und können von Benutzern, die sich auf Bildschirmlesegeräte verlassen, nicht gelesen werden.
Modus Tollens
Bitte bearbeiten Sie Ihren Beitrag und zeigen Sie den tatsächlichen Text anstelle von Screenshots. Andere können Ihre Bilder nicht kopieren und einfügen. Siehe hier für Details. Danke dir.
Pang
2
Ich stimme der @ David-Frage zu - "Warum Daumen runter?". Ich glaube, dass dies den Benutzer, der dies erhalten hat, dazu bringen wird, in Zukunft nicht mehr zum Stackoverflow beizutragen, und ich glaube, dass dies nicht der Fall sein sollte. Aus meiner Sicht sollten "Daumen runter" niemals verwendet werden! Es ist in seiner Essenz negativ und bringt überhaupt keinen Wert.
Marco
Bist du sicher, dass char --> StringGoesHere.parseFloat(int position);das richtig ist? Ehrlich gesagt habe ich nicht nachgesehen, aber ich bin mir ziemlich sicher, dass Stringes keine parseFloatMethode gibt, und selbst wenn dies der Fall ist, kann ich nicht verstehen, warum Sie das dort versuchen würden.
BeUndead
3
Wenn Sie einen String in ein Zeichen analysieren 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 gleich dem String ist, den Sie analysieren möchten. Die meisten Leute vergessen, dass Zeichen eine 16-Bit-Zahl darstellen und somit Teil eines beliebigen numerischen Ausdrucks sein können :)
Das ist falsch. Das Parsen einer Zeichenfolge in eine Zahl bedeutet, dass die Zahl in eine Zeichenfolge konvertiert wurde, und wir möchten die Zahl zurückerhalten. Genau so bedeutet das Parsen eines Zeichens aus einer Zeichenfolge, dass das Zeichen in eine Zeichenfolge konvertiert wurde und wir das Zeichen zurückhaben möchten. Die Verwendung einer Zwischennummer ist nicht das, wonach das OP gefragt hat.
Vlad
@Vlad Er hat nach einer Nummer gefragt, denn so charist a, genau wie intund double. Er gab sogar das Beispiel String"123". und wer sagt, dass man a nicht charin a Stringmit einer Länge größer als eins konvertieren kann und zurück? Probieren Sie es selbst aus mit char c = 123: String.valueOf((int) c).equals("123")kehrt zurück true.
Adam Martinu
1
Sorry, aber alles läuft auf die Zahlen hinaus, das ist nicht der Punkt der Frage. Sie können sich die akzeptierte Antwort ansehen, die ein Zwischenprodukt eindeutig ausschließt int. Für Ihr Beispiel müssen Sie zu Guss zuint , was bedeutet , dass Sie nicht mit dem Original arbeiten char, aber mit ein int, die irgendwie passiert mit dem Original entsprechen char.
Vlad
2
import java.io.*;class ss1
{publicstaticvoid main(String args[]){String a =newString("sample");System.out.println("Result: ");for(int i=0;i<a.length();i++){System.out.println(a.charAt(i));}}}
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert 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, indem Sie .charAt (0) (oder .First () in C #) aufrufen.
Antworten:
Wenn Ihre Zeichenfolge genau ein Zeichen enthält, können Sie sie am einfachsten in ein Zeichen konvertieren, indem Sie die folgende
charAt
Methode aufrufen :quelle
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert an einem beliebigen Index abzurufen. Wenn Sie den String in ein char-Array konvertieren möchten, rufen Sie .toCharArray () für den String auf.
quelle
Sie können diesen Trick verwenden:
quelle
"123"
in etwas verwandeln'1'
, ist es das, wonach Sie suchen?Wenn die Zeichenfolge 1 Zeichen lang ist, nehmen Sie einfach dieses Zeichen . Wenn die Zeichenfolge nicht 1 Zeichen lang ist, kann sie nicht in ein Zeichen analysiert werden.
quelle
oder Wenn Sie individuell möchten, können Sie als
quelle
org.apache.commons.lang.StringEscapeUtils . (un) EscapeJava-Methoden sind wahrscheinlich das, was Sie wollen
Antwort von brainzzy nicht von mir:
https://stackoverflow.com/a/8736043/1130448
quelle
Der einfachste Weg, a
String
in a umzuwandeln ,char
istcharAt()
:Hier ist ein vollständiges Skript:
quelle
Ich bin vielleicht etwas spät dran, aber ich fand das nützlich, verstehe Kadena als String und den Titel der linken Spalte als Konvertieren in. :-)
UPDATE: Also habe ich endlich mein Passwort zurückbekommen, ich habe es mit kopierbarem Text aktualisiert, damit andere wie immer einfach kopieren und einfügen können, und für einige andere, die eine Indizierung der Daten erhalten können (falls dies der Fall ist). :-) Fröhlichen November Schnurrbart.
quelle
char --> StringGoesHere.parseFloat(int position);
das richtig ist? Ehrlich gesagt habe ich nicht nachgesehen, aber ich bin mir ziemlich sicher, dassString
es keineparseFloat
Methode gibt, und selbst wenn dies der Fall ist, kann ich nicht verstehen, warum Sie das dort versuchen würden.Wenn Sie einen String in ein Zeichen analysieren 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 gleich dem String ist, den Sie analysieren möchten. Die meisten Leute vergessen, dass Zeichen eine 16-Bit-Zahl darstellen und somit Teil eines beliebigen numerischen Ausdrucks sein können :)
quelle
char
ist a, genau wieint
unddouble
. Er gab sogar das BeispielString
"123". und wer sagt, dass man a nichtchar
in aString
mit einer Länge größer als eins konvertieren kann und zurück? Probieren Sie es selbst aus mitchar c = 123
:String.valueOf((int) c).equals("123")
kehrt zurücktrue
.int
. Für Ihr Beispiel müssen Sie zu Guss zuint
, was bedeutet , dass Sie nicht mit dem Original arbeitenchar
, aber mit einint
, die irgendwie passiert mit dem Original entsprechenchar
.quelle
Sie können Folgendes tun:
quelle
String str = "abc"; char[] char_str = str.toCharArray();
Sie können einfach die verwenden
toCharArray()
, um eine Zeichenfolge in ein char-Array zu konvertieren:quelle
Ein Essay Weg:
Für die Ausgabe siehe diesen Link: Klicken Sie hier
Vielen Dank :-)
quelle
Sie können die Funktion .charAt (int) mit Strings verwenden, um den Zeichenwert 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, indem Sie .charAt (0) (oder .First () in C #) aufrufen.
quelle