2016-12-28 58 views
0

我有一個字符串,我需要分裂在第一個空的空間。問題分裂字符串在第一個空的空間

不知何故,我不能讓它分裂,字符串保持不變。

有人可以幫忙嗎?

字符串中的問題:

https://test.com/info/dsfs76/933/TT Maps 2015.12 

https://test.com/info/dsfs76/933/TT地圖2015.12需要是被添加到ArrayList 2個獨立的部分。

我的代碼嘗試:

if (str.contains(linkElem.getLinkAddress() + " ")) { 
    String[] temp = str.split(" "); 

    for (String temp : Arrays.asList(temp)) { 
     arraytest.add(temp); 
     } 
} 

回答

0

從您提供的代碼,有沒有這樣的字符串strtemp

也許你應該分裂str呢?

String[] temp = str.split(" "); 
+0

嗨藍色,是SRY我編輯我的代碼,它應該是什麼需要分裂,但它沒有工作。 – Simon

0

您可以使用字符串標記來是這樣做的:

StringTokenizer st = new StringTokenizer(linkElem.getLinkAddress(), " "); 

String a = st.nextToken();//string before " " 
String b = st.nextToken();//string after " " 
+0

嗨,我在這一行上得到一個「java.util.NoSuchElementException」:String b = st.nextToken(); – Simon

+0

檢查linkElem.getLinkAddress()是否爲空,以及它是否有空的空格 – Mushirih

0

我知道它是完全unelegant和愚蠢的,但它的工作原理%)

String string = "https://test.com/info/dsfs76/933/TT Maps 2015.12"; 
    StringBuilder stringBuilder = new StringBuilder(); 
    ArrayList<String> list = new ArrayList<>(); 
    boolean whiteSpaceFound = false; 
    for (int i = 0; i < string.length(); i++) { 
     if (string.charAt(i) == ' ' && !whiteSpaceFound) { 
      list.add(stringBuilder.toString()); 
      stringBuilder = new StringBuilder(); 
      whiteSpaceFound = true; 
     } else { 
      stringBuilder.append(string.charAt(i)); 
     } 
    } 
    if (whiteSpaceFound || list.isEmpty()) { 
     list.add(stringBuilder.toString()); 
    }