当前位置: 代码迷 >> J2EE >> 急请来看一看。关于数组的一个有关问题
  详细解决方案

急请来看一看。关于数组的一个有关问题

热度:320   发布时间:2016-04-17 23:48:59.0
急急!请高手进来看一看。关于数组的一个问题。
String test="[['谭树虎','3个月及以上'],['张耀华','3个月及以上'],['符歆','3个月及以上'],['张英','3个月及以上']]";
我拿到一个 字符串数组里面的内容了。  是数组里面包含数组。 List<List>这种。我如何把它给转回List数组类型了。单纯的用
Split(",")是不行的。。。有没有谁碰到过这种问题。   或者更简单点 。。[你好,呵呵呵,不知道]     这样的将其还原为数组
------解决方案--------------------

public static void main(String[] args) {
String test="[['谭树虎','3个月及以上'],['张耀华','3个月及以上'],['符歆','3个月及以上'],['张英','3个月及以上']]";
 Pattern p = Pattern.compile("\\[(.*?)\\]");
 Matcher m = p.matcher(test);
 List<List<String>> list = new ArrayList<List<String>>();
 while(m.find()){
 List<String> li= new ArrayList<String>();
 String a = m.group(1).replace("[", "");
 for(String s : a.split(",")){
 li.add(s);
 }
 list.add(li);
 }
 System.out.println(list);
}

------解决方案--------------------
package shi;

import java.util.ArrayList;
import java.util.List;

public class Test6 {
public static void main(String args[]) {
String test = "[['谭树虎','3个月及以上'],['张耀华','3个月及以上'],['符歆','3个月及以上'],['张英','3个月及以上']]";
// System.out.println(test.replaceAll("\\[\\[", "").replaceAll("\\[",
// "").replaceAll("]", ""));
String mytest = test.replaceAll("\\[\\[", "").replaceAll("\\[", "")
.replaceAll("]", "");
String[] array = mytest.split(",");
List<List<String>> list = new ArrayList<List<String>>();
for (int i = 0; i < array.length; i++) {
List<String> myList = new ArrayList<String>();
if (i % 2 == 0) {
myList.add(array[i]);
myList.add(array[i + 1]);
}
list.add(myList);
}
for (int i = 0; i < list.size(); i++) {
List<String> result = list.get(i);
for (int j = 0; j < result.size(); j++) {
if (j != result.size() - 1) {
System.out.print(result.get(j) + ",");
} else {
System.out.println(result.get(j));
}
}

}
}

}

------解决方案--------------------
用json的工具可以直接转的
倒一下lib包就可以用了
  相关解决方案