2014-01-17 76 views
-1

我有一個字符串xyz a z。如何將其拆分爲xyz az。這是將字符串分成兩部分,第一個空格作爲分割點。謝謝用空格分割java中的字符串數據

+1

你能分享一下你的想法嗎? – devnull

+0

你的意思是循環遍歷字符串,併爲每個字符檢查是否第一個空格,如果第一個空格被發現存儲在一個字符串中,並通過連接保留在另一個字符串中? – user1002448

+1

@ user1002448 - 拆分根據空白拆分整個字符串......我要求你先拆分它,取出第一個元素,添加一個空白並添加剩餘的元素......我認爲kapep的答案是你應該看着。 – TheLostMind

回答

0

試試這個

String givenString = "xyz a z"; 
String[] split = givenString.split(" "); 
StringBuffer secondPart = new StringBuffer(); 
for (int i = 1; i < split.length; i++) { 
    secondPart.append(split[i]); 
} 
StringBuffer finalPart = new StringBuffer(); 
finalPart.append(split[0]); 
finalPart.append(" "); 
finalPart.append(secondPart.toString()); 
System.out.println(finalPart.toString()); 
+0

謝謝。有用 :) – user1002448

4

使用String.split與第二個限制參數。使用限制2

limit參數控制模式應用的次數,因此影響結果數組的長度。如果限制n大於零,則該模式將最多n可應用於更大 - 1倍

+0

這是否將字符串作爲空格分隔一次? – Keerthivasan

+1

+1 ..精確和簡潔的答案,, :) – TheLostMind

+0

@Octopus是的,它會在第一次出現分隔符時將字符串拆分一次。 – Kapep

1

做這樣

public static void main(String []args){ 
     String a= "xyz a z"; 
     String[] str_array=a.split(" "); 
     System.out.print(str_array[0]+" "); 
     System.out.println(str_array[1]+str_array[2]); 

    } 
+0

它會在一行上顯示xyz,在另一行上顯示az ...使用「」 – TheLostMind

+0

現在我編輯了我的答案 – Nambi

0

您需要使用String.split與兩個限價因爲它會被應用(n-1)次,在你的情況下(2-1 = 1)時間

因此它只考慮第一空間。

但你仍然會得到的結果作爲xyza z,你仍然必須得到a z

1

之間擺脫一個更大的空間試試這個

String Str = new String("xyz a z"); 
    for (String retval: Str.split(" ", 2)){ 
    System.out.println(retval); 
+0

第二個參數在拆分方法中決定 – vengets

+0

好,但忘記刪除* a *和* z *在第二個元素 – gowtham

0

試試這個

String path="XYZ a z"; 
String arr[] = path.split(" ",2); 
String Str = new String("xyz a z"); 
for(int i=0;i<arr.length;i++) 
    arr[i] = arr[i].replace(" ","").trim(); 
    StringBuilder builder = new StringBuilder(); 
      for(String s : arr) { 
       builder.append(s); 
       builder.append(" "); 
      } 
System.out.println(builder.toString()); 

在for循環中,您可以使用builder.append(" ")在兩個數組之間添加空格。