繁体   English   中英

如何将包含数组的字符串转换为数组

[英]How to convert String containing Array into an Array

之前可能有人问过这个问题,但我花了一些时间查看,所以这就是我所拥有的。 我有一个包含数组的字符串:

'["thing1","thing2"]'

我想把它转换成一个实际的数组:

["thing1","thing2"]

我该怎么做?

您可以创建一个遍历整个字符串的循环,检查引号的索引,然后将它们连同单词一起删除。 我将提供一个例子:

ArrayList<String> list = new ArrayList<String>();
while(theString.indexOf("\"") != -1){
    theString = theString.substring(theString.indexOf("\"")+1, theString.length());
    list.add(theString.substring(0, theString.indexOf("\"")));
    theString = theString.substring(theString.indexOf("\"")+1, theString.length());
}

我会担心查看字符串中最后一个引号时会出现越界错误,但是由于您使用的是数组的字符串版本,因此末尾应该总是有“]”。 但这只会创建一个 ArrayList。 如果您想将 ArrayList 转换为普通数组,您可以在之后执行此操作:

String[] array = new String[list.size()];
for(int c = 0; c < list.size(); c++){
    array[c] = list.get(c);
}

您可以使用String类的replacesplit方法来完成,例如:

String s = "[\"thing1\",\"thing2\"]";
String[] split = s.replace("[", "").replace("]", "").split(",");
System.out.println(Arrays.toString(split));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM