我有一个这样的字符串:
["477","com.dummybilling","android.test.purchased","inapp:com.dummybilling:android.test.purchased","779"]
如何使用这5个元素的String []?
有谁知道.split()
方法的正则表达式?
非常感谢,正则表达式让我发疯! :(
答案 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解析器。