Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将特殊字符串转换为数组的数组_Java_String - Fatal编程技术网

Java将特殊字符串转换为数组的数组

Java将特殊字符串转换为数组的数组,java,string,Java,String,我想把这根绳子分开 ['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2'] 到java中的数组字符串数组 我可以用正则表达式来做吗?或者我应该写一个递归函数来处理这个问题吗 String str= "['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-20

我想把这根绳子分开

['1','BR_1142','12,345','01-02-2012', 'Test 1'],['2','BR_1142','12,345','01-02-2012', 'Test 2']
到java中的数组字符串数组


我可以用正则表达式来做吗?或者我应该写一个递归函数来处理这个问题吗

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(",");
}
String str=“['1'、'BR_1142'、'12345'、'01-02-2012'、'Test 1']、['2'、'BR_1142'、'12345'、'01-02-2012'、'Test 2']”;
字符串[]arr=str.split(“\\]”,\\[”;
字符串[][]arrOfArr=新字符串[arr.length][];
对于(int i=0;i
String yourString=“['1'、'BR_1142'、'12345'、'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(“\\]”,\\\[”;
字符串[][]arr1=新字符串[arr.length][];
int i=0;

String regex=“(?您可以将
String.split
和regex组合使用:

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(",");
}
String str=“['1'、'BR_1142'、'12345'、'01-02-2012'、'Test 1']、['2'、'BR_1142'、'12345'、'01-02-2012'、'Test 2']”;

String[]outerStrings=str.split((?我无法测试这个,因为最近的崩溃摧毁了我所有的程序,但我相信你可以使用JSON解析器来解析字符串。在解析之前,你可能必须将它包装在
[
]
{
}


为什么要使用正则表达式,如果您可以使用简单的
拆分
?我想要一个数组数组,例如,对于这个字符串数组[1][2]应该给我BR_1142。我不知道如何使用拆分?谢谢help@AKZ,你说得对。你可以试试
split(“,”)
虽然这也会删除
字符。我相信你可以从那里找到一种方法。@AKZ..另外,如果你试图从上述过程中保留
12345
之间,你会丢失另一个
。因此,我将它们替换为“”要完全删除它们…谢谢你的帮助,我用JSON ObjectMapper完成了
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(",");
}