Saya perlu membagi String saya dengan spasi. Untuk ini saya mencoba:
str = "Hello I'm your String";
String[] splited = str.split(" ");
Tapi sepertinya itu tidak berhasil.
fork
tautan di dekat sudut kiri atas.
Saya perlu membagi String saya dengan spasi. Untuk ini saya mencoba:
str = "Hello I'm your String";
String[] splited = str.split(" ");
Tapi sepertinya itu tidak berhasil.
fork
tautan di dekat sudut kiri atas.
Jawaban:
Apa yang Anda miliki harus berhasil. Namun, jika ruang yang disediakan adalah default ke ... sesuatu yang lain? Anda dapat menggunakan regex spasi putih:
str = "Hello I'm your String";
String[] splited = str.split("\\s+");
Ini akan menyebabkan sejumlah ruang berurutan untuk membagi string Anda menjadi token.
Sebagai catatan, saya tidak yakin "terpecah" adalah sebuah kata :) Saya percaya keadaan menjadi korban perpecahan juga "terpecah". Itu salah satu dari hal tata bahasa yang rumit :-) Tidak mencoba untuk pilih-pilih, hanya mengira saya akan meneruskannya!
Meskipun jawaban yang diterima baik, perlu diketahui bahwa Anda akan berakhir dengan string kosong terkemuka jika string input Anda mulai dengan spasi putih. Misalnya, dengan:
String str = " Hello I'm your String";
String[] splitStr = str.split("\\s+");
Hasilnya adalah:
splitStr[0] == "";
splitStr[1] == "Hello";
splitStr[2] == "I'm";
splitStr[3] == "Your";
splitStr[4] == "String";
Jadi, Anda mungkin ingin memotong string Anda sebelum membaginya:
String str = " Hello I'm your String";
String[] splitStr = str.trim().split("\\s+");
Gunakan Stringutils.split()
untuk membagi string dengan langkah putih. Misalnya StringUtils.split("Hello World")
mengembalikan "Halo" dan "Dunia";
Untuk menyelesaikan kasus yang disebutkan, kami menggunakan metode split seperti ini
String split[]= StringUtils.split("Hello I'm your String");
ketika kita mencetak array split, hasilnya adalah:
Halo
Aku
anda
Tali
Mencoba
String[] splited = str.split("\\s");
http://download.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html
jika entah bagaimana Anda tidak ingin menggunakan metode String split maka Anda dapat menggunakan kelas StringTokenizer di Java sebagai ..
StringTokenizer tokens = new StringTokenizer("Hello I'm your String", " ");
String[] splited = new String[tokens.countTokens()];
int index = 0;
while(tokens.hasMoreTokens()){
splited[index] = tokens.nextToken();
++index;
}
Coba yang ini
String str = "This is String";
String[] splited = str.split("\\s+");
String split_one=splited[0];
String split_second=splited[1];
String split_three=splited[2];
Log.d("Splited String ", "Splited String" + split_one+split_second+split_three);
OK, jadi kita harus melakukan pemisahan karena Anda sudah mendapat jawaban saya akan menggeneralisasikannya.
Jika Anda ingin membagi string dengan spasi, pembatas (karakter khusus).
Pertama, hapus ruang utama saat mereka membuat sebagian besar masalah.
str1 = " Hello I'm your String ";
str2 = " Are you serious about this question_ boy, aren't you? ";
Pertama-tama hapus ruang utama yang bisa berupa ruang, tab dll
String s = str1.replaceAll("^\\s+","");//starting with whitespace one or more
Sekarang jika Anda ingin membagi berdasarkan ruang atau karakter khusus apa pun.
String[] sa = s.split("[^\\w]+");//split by any non word char
Tetapi karena w berisi [a-zA-Z_0-9], jadi jika Anda ingin membaginya dengan garis bawah (_) juga gunakan
String[] sa = s.split("[!,? ._'@]+");//for str2 after removing leading space
replaceAll("^\\s+","")
menyelamatkan hari saya. Itu berhasil untuk kasus saya. Terima kasih
Contoh Sangat Sederhana di bawah ini:
Semoga ini bisa membantu.
String str = "Hello I'm your String";
String[] splited = str.split(" ");
var splited = str.split(" ");
var splited1=splited[0]; //Hello
var splited2=splited[1]; //I'm
var splited3=splited[2]; //your
var splited4=splited[3]; //String
Anda dapat memisahkan string menggunakan kode di bawah ini
String thisString="Hello world";
String[] parts = theString.split(" ");
String first = parts[0];//"hello"
String second = parts[1];//"World"
Karena sudah lama sejak jawaban ini diposkan, berikut ini cara lain untuk melakukan apa yang diminta:
List<String> output = new ArrayList<>();
try (Scanner sc = new Scanner(inputString)) {
while (sc.hasNext()) output.add(sc.next());
}
Sekarang Anda memiliki daftar string (yang bisa dibilang lebih baik daripada array); jika Anda memang membutuhkan array, Anda bisa melakukannyaoutput.toArray(new String[0]);
Simple to Spit String by Space
String CurrentString = "First Second Last";
String[] separated = CurrentString.split(" ");
for (int i = 0; i < separated.length; i++) {
if (i == 0) {
Log.d("FName ** ", "" + separated[0].trim() + "\n ");
} else if (i == 1) {
Log.d("MName ** ", "" + separated[1].trim() + "\n ");
} else if (i == 2) {
Log.d("LName ** ", "" + separated[2].trim());
}
}