2016-04-21 61 views
1

我想分裂Java字符串:的Java字符串分割與多charecters

"[1,2,3,4,5]" 

所以我有一個只有整數

1 
2 
3 
4 
5 

沒有 「[]」

數組

我試圖

String[] test = x.split("(,)|(\\[\\)|(\\]\\)"); 

我在另一個線程中發現了它,但它無法正常工作。 它在test[0]中保留一個空字符串。

+0

*'沒有「,[]」'*是什麼意思?我以爲你想要一個數組。 – Gendarme

+1

爲什麼不嘗試先替換[],然後再拆分? – rmlan

+0

沒有替換: - https://regex101.com/r/nW2lD2/1 – rock321987

回答

5

在這種情況下,最簡單的方法似乎,這將是[](通過或replaceAll()呼叫)只需更換方括號字符,然後使用執行您的split()功能:

// Replace the square braces and then split using a comma 
String[] output = input.replace("[", "").replace("]", "").split(","); 

或:

// Replace the square braces and then split using a comma 
String[] output = input.replaceAll("\\[|\\]", "").split(","); 
+0

哦,它甚至可以['String [] test = x.substring(1,x.length() - 1).split(「,」);'](https://ideone.com/CsaQDq) –

+0

您也可以將其解析爲JSON數組。這是一種矯枉過正的做法,爲此類添加JSON解析器到類路徑中,但是如果你已經有了它,那麼也可以使用它。 – Andreas

+0

@Wiktor和@Andreas,兩個固定選項,我用'replace()'/'split ()'方法,因爲它看起來最容易閱讀OP的目的和針對那些剛剛入門的問題(我認爲這符合要求),所以我認爲可讀性是關鍵 –