Saya perlu saya split String dengan spasi. Untuk ini saya mencoba:
str = "Hello I'm your String";
String[] splited = str.split(" ");
Tapi itu doesn't tampaknya bekerja.
Apa yang telah anda harus bekerja. Namun, jika ruang-ruang yang disediakan secara default untuk... sesuatu yang lain? Anda dapat menggunakan spasi regex:
str = "Hello I'm your String";
String[] splited = str.split("\\s+");
Hal ini akan menyebabkan jumlah ruang berturut-turut untuk membagi string menjadi token.
Sebagai catatan, saya'm tidak yakin "splited" adalah sebuah kata :) saya percaya keadaan menjadi korban perpecahan juga "split". It's salah satu yang rumit tata bahasa hal-hal :-) Tidak mencoba untuk menjadi pemilih, hanya pikir saya'd pass it on!
Sedangkan jawaban yang diterima adalah yang baik, harus menyadari bahwa anda akan berakhir dengan string kosong jika anda input string dimulai dengan sebuah spasi. Misalnya, dengan:
String str = " Hello I'm your String";
String[] splitStr = str.split("\\s+");
Hasilnya akan menjadi:
splitStr[0] == "";
splitStr[1] == "Hello";
splitStr[2] == "I'm";
splitStr[3] == "Your";
splitStr[4] == "String";
Jadi, anda mungkin ingin memotong string sebelum pemisahan ini:
String str = " Hello I'm your String";
String[] splitStr = str.trim().split("\\s+");
Saya percaya bahwa menempatkan sebuah ekspresi reguler di str.split tanda kurung harus memecahkan masalah. Java String.split() metode ini didasarkan pada ekspresi reguler agar apa yang anda butuhkan adalah:
str = "Hello I'm your String";
String[] splitStr = str.split("\\s+");
Gunakan Stringutils.split()
untuk split string dengan putih langkah. Misalnya StringUtils.split("Hello World")
kembali "Hello" dan "Dunia";
Dalam rangka untuk memecahkan kasus yang disebutkan kami menggunakan metode split seperti ini
String split[]= StringUtils.split("Hello I'm your String");
ketika kami mencetak membagi array output akan sama :
Halo
I'm
anda
String
Mencoba
String[] splited = str.split("\\s");
http://download.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html
Coba yang satu 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);
jika entah bagaimana anda don't ingin menggunakan String membagi metode maka anda dapat menggunakan StringTokenizer kelas di Java..
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;
}
Cara alternatif akan sama:
import java.util.regex.Pattern;
...
private static final Pattern SPACE = Pattern.compile(" ");
String[] arr = SPACE.split(str); // str is the string to be split
Melihat itu di sini
Contoh yang sangat Sederhana di bawah ini:
Semoga 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
OK, jadi kita harus melakukan pemisahan seperti yang anda sudah mendapat jawaban saya akan menggeneralisasi.
Jika anda ingin membagi string dengan spasi, pembatas(karakter khusus).
Pertama, menghapus spasi karena mereka membuat sebagian besar masalah.
str1 = " Hello I'm your String ";
str2 = " Are you serious about this question_ boy, aren't you? ";
Pertama menghapus spasi yang dapat ruang, tab dll.
String s = str1.replaceAll("^\\s+","");//starting with whitespace one or more
Sekarang jika anda ingin membagi dengan ruang atau char khusus.
String[] sa = s.split("[^\\w]+");//split by any non word char
Tapi sebagai w berisi [a-zA-Z0-9] ,jadi jika anda ingin dibagi oleh garis bawah() juga menggunakan
String[] sa = s.split("[!,? ._'@]+");//for str2 after removing leading space
Sejak itu's been a while sejak jawaban ini diposting, di sini's lain yang lebih saat ini cara untuk melakukan apa yang's ditanya:
List<String> output = new ArrayList<>();
try (Scanner sc = new Scanner(inputString)) {
while (sc.hasNext()) output.add(sc.next());
}
Sekarang anda memiliki daftar dari string (yang bisa dibilang lebih baik dari array); jika anda membutuhkan sebuah array, anda dapat melakukan output.toArray(new String[0]);
Sederhana untuk Meludah String dengan Spasi
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());
}
}