Untuk lebih dari satu karakter: char [] c = s.toCharArray ();
67
Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String.
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']
Tapi itu akan berubah "123" menjadi '1', apakah itu yang Anda cari?
aioobe
1
Saya tidak bermaksud khusus menggunakan "123". Saya hanya menggunakan sebagai contoh. Untuk char, ini akan menjadi contoh berbeda seperti "p" karena char adalah karakter tunggal, bukan karakter ganda.
Yokhen
1
fungsi toCharArray () mengembalikan array karakter jika Anda ingin membagi string Anda menjadi karakter
Genjuro
8
Jika string memiliki 1 karakter, ambil saja karakter itu . Jika string tidak sepanjang 1 karakter, string tidak dapat diuraikan menjadi karakter.
Cara termudah untuk mengonversi a Stringke charmenggunakan adalah 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
Saya mungkin sedikit terlambat tetapi saya menemukan ini berguna, memahami cadena sebagai String, dan judul kolom kiri sebagai Convert to. :-)
PEMBARUAN: Jadi, saya akhirnya mendapatkan kembali kata sandi saya, saya perbarui dengan teks yang dapat disalin sehingga mungkin orang lain dapat menyalin dan menempel seperti biasa, dan untuk beberapa orang lain yang bisa mendapatkan indeksasi data (jika ya). :-) Selamat Kumis November.
Mengapa diacungi jempol? Ini benar-benar menjawab pertanyaan, sehingga Anda dapat memeriksa cara mem-parsing dalam tipe lain
Davide
4
@Bagi Mungkin karena posting tidak boleh menyertakan informasi penting sebagai gambar ketika dapat diposting sebagai teks. Gambar tidak dapat dicari dan disalin / ditempelkan, sering diblokir dan tidak dapat dibaca oleh pengguna yang mengandalkan pembaca layar.
Modus Tollens
Harap edit posting Anda dan tampilkan teks yang sebenarnya, bukan tangkapan layar. Orang lain tidak dapat menyalin dan menempel dari gambar Anda. Lihat di sini untuk detailnya. Terima kasih.
Pang
2
Saya setuju dengan pertanyaan @Davide - "Mengapa jempol ke bawah?". Saya percaya bahwa ini akan membuat pengguna yang mendapatkan ini tidak berkontribusi dengan stackoverflow di masa depan dan saya percaya bahwa ini tidak boleh terjadi. Dari perspektif saya "jempol ke bawah" tidak boleh digunakan! Esensinya negatif dan tidak membawa nilai sama sekali.
Marco
Apakah Anda yakin itu char --> StringGoesHere.parseFloat(int position);benar? Jujur saya belum memeriksa, tetapi saya cukup yakin Stringtidak memiliki parseFloatmetode, dan bahkan jika itu, saya tidak bisa melihat mengapa itu akan menjadi apa yang Anda coba lakukan di sana.
BeUndead
3
Jika Anda ingin mengurai String ke char, sedangkan objek String mewakili lebih dari satu karakter, Anda cukup menggunakan ekspresi berikut:
char c = (char) Integer.parseInt (s) . Di mana s sama dengan String yang ingin Anda parsing. Kebanyakan orang lupa bahwa char mewakili angka 16-bit, dan karenanya dapat menjadi bagian dari ekspresi numerik apa pun :)
Ini salah. Mem-parsing sebuah string ke sebuah angka berarti bahwa nomor tersebut dikonversi ke sebuah string, dan kami ingin mendapatkan nomor itu kembali. Dengan cara yang sama persis, mengurai karakter dari string berarti karakter tersebut dikonversi ke string, dan kami ingin karakter tersebut kembali. Menggunakan nomor perantara bukanlah yang ditanyakan OP.
Vlad
@ Vlad Dia memang meminta nomor, karena itu adalah apa char, seperti intdan double. Dia bahkan memberi contoh String"123". dan siapa bilang Anda tidak bisa mengonversi a charke Stringdengan panjang lebih besar dari satu, dan kembali? Coba sendiri dengan char c = 123: String.valueOf((int) c).equals("123")pengembalian true.
Adam Martinu
1
Maaf, tetapi semuanya berujung pada angka, itu bukan inti dari pertanyaan. Anda dapat melihat jawaban yang diterima, yang dengan jelas mengecualikan perantara int. Misalnya, Anda perlu cor untuk int, yang berarti bahwa Anda bekerja tidak dengan yang asli char, tetapi dengan intyang terjadi entah bagaimana sesuai dengan aslinya 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));}}}
Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String. Jika string berukuran 1 karakter, ambil saja karakter itu dengan memanggil .charAt (0) (atau .First () di C #).
Jawaban:
Jika string Anda berisi tepat satu karakter, cara paling sederhana untuk mengubahnya menjadi karakter mungkin dengan memanggil
charAt
metode:sumber
Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String.
sumber
Anda dapat menggunakan trik ini:
sumber
"123"
menjadi'1'
, apakah itu yang Anda cari?Jika string memiliki 1 karakter, ambil saja karakter itu . Jika string tidak sepanjang 1 karakter, string tidak dapat diuraikan menjadi karakter.
sumber
atau Jika Anda ingin secara individual maka Anda dapat
sumber
org.apache.commons.lang.StringEscapeUtils . (un) Metode EscapeJava adalah probaby yang Anda inginkan
Jawaban dari brainzzy bukan milik saya:
https://stackoverflow.com/a/8736043/1130448
sumber
Cara termudah untuk mengonversi a
String
kechar
menggunakan adalahcharAt()
:Berikut ini skrip lengkapnya:
sumber
Saya mungkin sedikit terlambat tetapi saya menemukan ini berguna, memahami cadena sebagai String, dan judul kolom kiri sebagai Convert to. :-)
PEMBARUAN: Jadi, saya akhirnya mendapatkan kembali kata sandi saya, saya perbarui dengan teks yang dapat disalin sehingga mungkin orang lain dapat menyalin dan menempel seperti biasa, dan untuk beberapa orang lain yang bisa mendapatkan indeksasi data (jika ya). :-) Selamat Kumis November.
sumber
char --> StringGoesHere.parseFloat(int position);
benar? Jujur saya belum memeriksa, tetapi saya cukup yakinString
tidak memilikiparseFloat
metode, dan bahkan jika itu, saya tidak bisa melihat mengapa itu akan menjadi apa yang Anda coba lakukan di sana.Jika Anda ingin mengurai String ke char, sedangkan objek String mewakili lebih dari satu karakter, Anda cukup menggunakan ekspresi berikut: char c = (char) Integer.parseInt (s) . Di mana s sama dengan String yang ingin Anda parsing. Kebanyakan orang lupa bahwa char mewakili angka 16-bit, dan karenanya dapat menjadi bagian dari ekspresi numerik apa pun :)
sumber
char
, sepertiint
dandouble
. Dia bahkan memberi contohString
"123". dan siapa bilang Anda tidak bisa mengonversi achar
keString
dengan panjang lebih besar dari satu, dan kembali? Coba sendiri denganchar c = 123
:String.valueOf((int) c).equals("123")
pengembaliantrue
.int
. Misalnya, Anda perlu cor untukint
, yang berarti bahwa Anda bekerja tidak dengan yang aslichar
, tetapi denganint
yang terjadi entah bagaimana sesuai dengan aslinyachar
.sumber
Anda dapat melakukan hal berikut:
sumber
String str = "abc"; char[] char_str = str.toCharArray();
Anda cukup menggunakan
toCharArray()
untuk mengonversi string menjadi array char:sumber
Cara Esai:
Untuk Output, lihat tautan ini: Klik di sini
Terima kasih :-)
sumber
Anda dapat menggunakan fungsi .charAt (int) dengan Strings untuk mengambil nilai char pada indeks apa pun. Jika Anda ingin mengonversi String ke array char, coba panggil .toCharArray () pada String. Jika string berukuran 1 karakter, ambil saja karakter itu dengan memanggil .charAt (0) (atau .First () di C #).
sumber