2014-11-03 155 views
-2

我想根據分隔符分割字符串。如何根據Java中的分隔符分割字符串

的例子字符串是:["INESIS","13-ARTENGO-P1046","19"]

應該分爲拆分後三個弦。

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 
String[] values=data.split(","); 

我試過了上面的方法,但它不工作。

+0

一段代碼是什麼問題? – 2014-11-03 05:32:09

+0

請在成功分割它們之後準確顯示三個字符串應該是什麼。 – Jason 2014-11-03 05:33:27

+1

'String data =「[」INESIS「,」13-ARTENGO-P1046「,」19「]」'在Java中不是一個有效的語句。這是一個語法錯誤! – 2014-11-03 05:33:34

回答

0

首先,您需要以有效的形式提供String

如:

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; // escape " 

然後,你需要刪除[]。你可以使用replaceAll("\\[|\\]","")

然後從,分裂

如:

String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 
String[] values=data.replaceAll("\\[|\\]","").split(","); 
for(String i:values){ // just to print the values 
    System.out.println(i); 
} 

輸出地說:

"INESIS" 
"13-ARTENGO-P1046" 
"19" 
+0

對於問題的當前版本,我們還不知道三個結果字符串應該是什麼樣子。 – Jason 2014-11-03 05:36:50

+0

刪除所有'['和']'字符可能是危險的/矯枉過正的,爲什麼不刪除第一個和最後一個字符呢? – 2014-11-03 05:38:20

1

嘗試 String data="[\"INESIS\",\"13-ARTENGO-P1046\",\"19\"]"; 你必須把轉義字符\每個"否則的Java之前認爲你結束了你的字符串 這樣你告訴java你並不是想要切斷字符串,但是"是你的字符串的一部分

+0

對於問題的當前版本,我們還不知道三個結果字符串應該是什麼樣子。 – Jason 2014-11-03 05:38:08

0

要根據其他字符串分割字符串,可以使用StringTokenizer類。

下面是該

String str = "Splitting, Using, Comma" 
    System.out.println("---- Split by comma ',' ------"); 
    StringTokenizer st2 = new StringTokenizer(str, ","); 

    while (st2.hasMoreElements()) { 
     System.out.println(st2.nextElement()); 
    }