Saya punya string = "name";
saya ingin mengubahnya menjadi string array. Bagaimana saya melakukannya? Apakah ada fungsi bawaan java? Secara manual saya bisa melakukannya tapi saya sedang mencari fungsi java built in.
Saya ingin array di mana setiap karakter string akan menjadi string. seperti char 'n' sekarang akan menjadi string "n" yang disimpan dalam array.
String[] ary = new String[] { "name" };
, operasi apa yang Anda butuhkan? membelah karakter misalnya?Jawaban:
Untuk memulai tugas Anda,
String.split
pisahkan string pada ekspresi reguler dan ekspresi ini mungkin berupa string kosong:Menghasilkan array:
Menyingkirkan entri pertama yang kosong dibiarkan sebagai latihan untuk pembaca :-)
Catatan: Di Java 8, elemen kosong pertama tidak lagi disertakan.
sumber
Baris kedua mengalokasikan array String dengan panjang 1. Perhatikan bahwa Anda tidak perlu menentukan sendiri panjangnya, seperti:
sebagai gantinya, panjangnya ditentukan oleh jumlah elemen di initalizer. Menggunakan
membuat array dengan panjang 3.
sumber
Dengan asumsi Anda benar-benar menginginkan array string karakter tunggal (bukan
char[]
atauCharacter[]
)1. Menggunakan regex:
Lookahead negatif dengan lebar nol mencegah pencocokan pola di awal input, sehingga Anda tidak mendapatkan string kosong di depan.
2. Menggunakan Jambu Biji :
sumber
Saya kira tidak perlu untuk itu, karena tidak akan lebih sederhana dari
Tentu saja jika Anda bersikeras, Anda bisa menulis:
[Sunting] Jika Anda menginginkan String satu huruf, Anda dapat menggunakan:
Sayangnya s [0] akan kosong, tetapi setelah ini huruf n, a, m, e akan mengikuti. Jika ini merupakan masalah, Anda dapat menggunakan misalnya System.arrayCopy untuk menyingkirkan entri array pertama.
sumber
sumber
Di java 8, ada metode yang dapat digunakan untuk melakukan ini: toCharArray ():
Ini menghasilkan array berikut:
sumber
String.charAt(0)
pada string karakter tunggal yang tidak perlu! ;)Larik string = larik karakter?
Atau apakah Anda memiliki string dengan banyak kata yang masing-masing harus menjadi elemen array?
String[] array = yourString.split(wordSeparator);
sumber
Cukup gunakan
.toCharArray()
metode di Java:Ini seharusnya berfungsi dengan baik di Java 8.
sumber
Ubah untuk mengetik
Char
?http://www.javadb.com/convert-string-to-character-array
sumber
char[]
=)Anda dapat menggunakan
string.chars().mapToObj(e -> new String(new char[] {e}));
, meskipun ini cukup panjang dan hanya berfungsi dengan java 8. Berikut beberapa metode lainnya:string.split(""); (Has an extra whitespace character at the beginning of the array if used before Java 8)
string.split("|");
string.split("(?!^)");
Arrays.toString(string.toCharArray()).substring(1, string.length() * 3 + 1).split(", ");
Yang terakhir panjangnya tidak perlu, itu hanya untuk kesenangan!
sumber
Metode tambahan:
Seperti yang telah disebutkan, Anda dapat mengonversi "nama" String asli menjadi array karakter dengan cukup mudah:
Untuk melanjutkan rangkaian pemikiran ini, Anda kemudian dapat mengonversi array karakter menjadi array String:
Pada titik ini, stringArray Anda akan diisi dengan nilai asli dari string "name" asli Anda. Misalnya, sekarang menelepon
Akan mengembalikan nilai "n" (sebagai String) dalam kasus ini.
sumber
Memisahkan string kosong dengan String.split () mengembalikan larik elemen tunggal yang berisi string kosong . Dalam kebanyakan kasus Anda mungkin lebih suka mendapatkan array kosong, atau null jika Anda mengirimkan null, yang persis seperti yang Anda dapatkan dengan org.apache.commons.lang3.StringUtils.split (str) .
Pilihan lain adalah google guava Splitter.split () dan Splitter.splitToList () yang mengembalikan iterator dan daftar yang sesuai. Berbeda dengan versi apache, Splitter akan melempar NPE ke
null
:Jika Anda menginginkan daftar daripada iterator, gunakan Splitter.splitToList () .
sumber
Metode
String.split
akan menghasilkan 1 kosong, Anda harus menghapusnya dari array. Itu membosankan.sumber
Berdasarkan judul pertanyaan ini, saya datang ke sini ingin mengubah String menjadi array substring dibagi dengan beberapa pembatas. Saya akan menambahkan jawaban itu di sini untuk orang lain yang mungkin memiliki pertanyaan yang sama.
Ini membuat array kata dengan memisahkan string di setiap spasi:
Ini membuat array berikut:
Sumber
Diuji di Java 8
sumber
Di sini telah dikonversi string sederhana menjadi string array menggunakan metode split.
Keluaran
sumber