Java 形成为arrayList到arrayList的字符串

Java 形成为arrayList到arrayList的字符串,java,arraylist,casting,Java,Arraylist,Casting,我从DB“[[“22-1-2017;10:00-19:00”],[“22-1-2017;10:00-19:00”]” 有没有一种简单的方法可以将字符串转换为arrayList 提前感谢如果您希望在字符串数组中输入日期,我为您的问题找到了一个解决方案: String s = "[[\"22-1-2017;10:00-19:00\"],[\"22-1-2017;10:00-19:00\"]]"; // first remove outter brackets s = s.s

我从DB“[[“22-1-2017;10:00-19:00”],[“22-1-2017;10:00-19:00”]”

有没有一种简单的方法可以将字符串转换为arrayList


提前感谢

如果您希望在字符串数组中输入日期,我为您的问题找到了一个解决方案:

    String s = "[[\"22-1-2017;10:00-19:00\"],[\"22-1-2017;10:00-19:00\"]]";

    // first remove outter brackets
    s = s.substring(1, s.length());
    s = s.substring(0, s.length()-1);

    // Create a Pattern for getting everything within brackets
    Pattern r = Pattern.compile("\\[(.*?)\\]");
    // Now create matcher object.
    Matcher m = r.matcher(s);

    List<String> l = new ArrayList<>();
    while (m.find()) {
        l.add(m.group(1));
    }
    System.out.println(l);
希望这有帮助

编辑: 如果你使用

    Pattern r = Pattern.compile("\\[\"(.*?)\"\\]");
您根本不需要删除外括号,因为它已在以下内容中查找内容:

  • 用双引号打开方括号
  • 带右方括号的双引号

像gson一样使用JSON解析器如何

String jsonArray = "[[\"22-1-2017;10:00-19:00\"],[\"22-1-2017;10:00-19:00\"]]";

Type listType = new TypeToken<List<List<String>>>(){}.getType();
List<List<String>> list = new Gson().fromJson(jsonArray, listType);

System.out.println(list);
String jsonArray=“[\”22-1-2017;10:00-19:00\”],[\“22-1-2017;10:00-19:00\”];
类型listType=newTypeToken(){}.getType();
List List=new Gson().fromJson(jsonArray,listType);
系统输出打印项次(列表);
输出:
[[22-1-2017;10:00-19:00],[22-1-2017;10:00-19:00]
试试这个

String a = "[[\"22-1-2017;10:00-19:00\"],[\"22-1-2017;10:00-19:00\"]]";
String[] b = a.replace("[", "").replace("]", "").replace("\"", "").split(",");
List<String> c = Arrays.asList(b);
String a=“[\”22-1-2017;10:00-19:00\”],[\”22-1-2017;10:00-19:00\”];
字符串[]b=a.replace(“[”,”).replace(“]”,”).replace(“\”,”).split(“,”);
列表c=数组。asList(b);

Output=[22-1-2017;10:00-19:00,22-1-2017;10:00-19:00]

这取决于你对“易”这个词的定义。如果你像你给我们展示的那样有嵌套结构,通常你会想用某种解析器来读取它。什么?字符串的数组列表?哦,上帝蜘蛛是的字符串,比如[[“22-1-2017;10:00-19:00”],[“22-1-2017;10:00-19:00“]]您可以使用json解析器…@jValls您的示例”字符串类似[[“22-1-2017;10:00-19:00”],[“22-1-2017;10:00-19:00”]]显示字符串列表,而不是字符串列表。请澄清。假设日期既不包含
[
]
也不包含
,则仅当结果必须是平展的
列表
,而不是
列表
字符串时,它才起作用。replace()如果未找到匹配项,将返回原始值。如果可以将结果展平到列表中,是否有理由将结果展平到列表中?工作非常完美!正是我所需要的简单有效。我还为Type和TypeToken导入了以下包:import com.google.gson.reflect.TypeToken;import java.lang.reflect.Type;
String a = "[[\"22-1-2017;10:00-19:00\"],[\"22-1-2017;10:00-19:00\"]]";
String[] b = a.replace("[", "").replace("]", "").replace("\"", "").split(",");
List<String> c = Arrays.asList(b);