我想拆分此字符串的Java轉換的特殊字符串數組
['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2']
的陣列要陣列串的Java中的數組?
我可以用正則表達式來做還是應該寫一個遞歸函數來處理這個目的?
我想拆分此字符串的Java轉換的特殊字符串數組
['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2']
的陣列要陣列串的Java中的數組?
我可以用正則表達式來做還是應該寫一個遞歸函數來處理這個目的?
我不能對此進行測試,因爲最近的崩潰抹去取出所有我的程序,但我相信你可以使用JSON解析器來解析字符串。在解析之前,您可能必須將它包裝在[
和]
或{
和}
中。
見
感謝您的幫助我用JSON ObjectMapper – AKZ
如何像下面
String str= "['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2']";
String[] arr = str.split("\\],\\[");
String[][] arrOfArr = new String[arr.length][];
for (int i = 0; i < arr.length; i++) {
arrOfArr[i] = arr[i].replace("[", "").replace("]", "").split(",");
}
當我使用「,」分裂考慮12,345。我不想考慮12,345! – AKZ
@AKZ,你是對的。你可以嘗試'split(「','」)'雖然這也會刪除字符。我相信你可以從那裏找到一種方法。 –
String yourString = "['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12.345','01-02-2012', 'Test 2']";
yourString = yourString.substring(1, yourString.lastIndexOf("]"));
String[] arr = yourString.split("\\],\\[");
String[][] arr1 = new String[arr.length][];
int i = 0;
String regex = "(?<=['],)"; // This regex will do what you want..
for(String a : arr) {
arr1[i++] = a.split(regex);
}
for (String[] arrasd: arr1) {
for (String s: arrasd) {
System.out.println(s.replace(",", ""));
}
}
當我使用「,」分裂考慮12,345。我不想考慮12,345! – AKZ
@AKZ ..編輯上面的代碼..試試吧.. –
@AKZ ..另外,如果你試圖在上面的過程中保留'12,345'之間的',',你會失去另一個'''..所以,我用「」替換它們以完全刪除它們。 –
你可以結合使用String.split
和正則表達式look-behind:
String str = "['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2']";
String[] outerStrings = str.split("(?<=]),");
String[][] arrayOfArray = new String[outerStrings.length][];
for (int i=0; i < outerStrings.length; i++) {
String noBrackets = outerStrings[i].substring(1, outerStrings[i].length() - 1);
arrayOfArray[i] = noBrackets.split(",");
}
爲什麼要使用正則表達式,如果你可以用簡單的'split'做到這一點? –
預期產量是多少? – MadProgrammer
我想有一個數組的數組,例如這個字符串數組[1] [2]應該給我BR_1142。我不知道我怎樣才能做到這一點?感謝您的幫助 – AKZ