如何分隔字符串中的数据?

时间:2014-03-28 06:37:55

标签: java arrays string

我有一个数组String

String[] data = {"Id:1492", "Name:Antony", "School:DPS"};

我想知道如何分隔数据,如:

Id = 1492
Name = Antony
School = DPS

6 个答案:

答案 0 :(得分:0)

使用org.json库(http://www.json.org/java/

JSONObject jsonObj = new JSONObject(data);

然后您可以访问jsonObj

中的ID和其他数据

答案 1 :(得分:0)

它是一个json字符串,所以最好使用json解析器。 java json解析器api有多种选择,免费提供。这里提到的很少:

答案 2 :(得分:0)

我会从字符串中替换{},然后使用以下方法从中获取数组:

String values[] = data .replace("{","").replace("}","").split(",");

然后iterate over array并将键值对放在Map中,方法是将数组元素拆分为:

String[] value= values[index].split(":");

并使用value[0]作为关键字,value[1]作为一对使用。

或者作为另一种选择,我建议使用一些JSON api for java

以下是示例代码:

String data ="{Id:1492,Name:Antony ,School:DPS}";
String values[] = data .replace("{","").replace("}","").split(",");
Map<String, String> map = new TreeMap<String, String>();
for (int i = 0; i < values.length; i++) {
    String value[] = values[i].split(":");
    map.put(value[0], value[1]);
}
System.out.println(map.toString());

答案 3 :(得分:0)

String[] data = {"Id\", "1492\", "Name\", "Antony\", "School\", "DPS\"};

String arr[] = data.split(",");
for (int i = 0; i < arr.length; i++) {
  String keyval[] = arr[i].split(":");
  for (int j = 0; j < keyval.length; j += 2) {
    System.out.print(keyval[j].replaceAll("\\{*\"+", ""));
    System.out.print(":");
    System.out.print(keyval[j + 1].replaceAll("\"+}*", ""));
    System.out.println();
  }
}

答案 4 :(得分:0)

您的代码无法编译: 您正尝试将{{1>}中的 各种类型的对象 (String, int)保存到array !?为什么?你的陈述应该是:

String

而不是:

String[] data = {"Id:1492","Name:Antony","School:DPS"};

现在它编译了,让我们解决问题......


这个怎么样;它使用普通的java:

String data = {"Id":1492,"Name":"Antony ","School":"DPS"}

如果您想从... String id; String name; String school; for (String str : data) { int pos = str.indexOf (":"); //Find [1st] position of ':' String part1 = str.substring(0, pos); String part2 = str.substring(pos + 1); switch (part1) { case "Id": id = part2; break; case "Name": name = part2; break; case "School": school = part2; break; } } ... 这样的数据中创建新的对象,请将此代码放在Student中名为parse (String[] data)的方法中。 class Studentidname应为school

答案 5 :(得分:0)

不会更容易使用HashMap吗?