将带有项的String转换为List <string> </string>

时间:2014-10-03 21:27:31

标签: java converter arrays

我的字符串看起来像这样:["a","b","c","d"]。请注意,这是String而不是String数组。但是我想将其转换为List<String>。我怎样才能以最简单的方式实现这一目标?

3 个答案:

答案 0 :(得分:0)

也许这样?

String s = "[\"a\",\"b\", \"c\", \"d\"]";
List<String> list = Arrays.asList(s.substring(1, s.length() - 1).replaceAll("[\" ]", "").split(","));

修改

String s = "[\"a\",\"b\", \"c\", \"d\"]";
List<String> list = Arrays.asList(s.substring(1, s.length() - 1).split(","));
for (int i = 0; i < list.size(); i++) {
    String ss = list.get(i).trim();
    list.set(i, ss.substring(1, ss.length() - 1));
}

编辑#2

String s = "[\"a\",\"b\",\"c\",\"d\"]";
List<String> list = Arrays.asList(s.substring(2, s.length() - 2).split("\",[ ]*\""));

答案 1 :(得分:0)

正如评论中所指出的,这个字符串只是一个JSON数组 - 您应该只使用JSON解析器而不是尝试创建自己的。

This other SO answer(以及页面上的所有其他答案)提供了有关如何执行此操作的一些说明。

答案 2 :(得分:-2)

这是我的实施:

List<String> list = Arrays.asList(theString.split(""));

希望有所帮助。 SALAM

修改

抱歉,我没有很好地解决这个问题 这是一个新的实现:

List<String> list = Arrays.asList(theString.replace("\"", "").replace("[", "").replace("]", "").split(","));
list.forEach(e-> e.trim());

这不是最好的实施,但这就是我带来的:P