Android将字符串转换为数组字符串

时间:2013-09-13 09:52:40

标签: java android regex arrays string

我有一个这样的字符串:

["477","com.dummybilling","android.test.purchased","inapp:com.dummybilling:android.test.purchased","779"]

如何使用这5个元素的String []? 有谁知道.split()方法的正则表达式?

非常感谢,正则表达式让我发疯! :(

2 个答案:

答案 0 :(得分:24)

将其作为JSON处理。两个直接的好处是,它会自动处理数据中的任何嵌入式逗号,另一个是使用未加引号的字符串获得String[]

String input = "[\"477\",\"com.dummybilling\",\"android.test.purchased\",\"inapp:com.dummybilling:android.test.purchased\",\"779\"]";

JSONArray jsonArray = new JSONArray(input);
String[] strArr = new String[jsonArray.length()];

for (int i = 0; i < jsonArray.length(); i++) {
    strArr[i] = jsonArray.getString(i);
}

System.out.println(Arrays.toString(strArr));

输出

[477, com.dummybilling, android.test.purchased, inapp:com.dummybilling:android.test.purchased, 779]

答案 1 :(得分:1)

您可以按分隔符["(开头)或",""](结尾)分割字符串,如下所示:

final String[] tokens = yourString.split("\",\"|\\[\"|\"\\]");

请注意,这仅适用于您的字符串。这不是一般解决方案(例如,它不会处理任何转义的引号)。如果你的字符串是JSON格式,你应该使用@Ravi Thapliyal提出的JSON解析器。