Java解析字符串

3
我想在Java中解析以下字符串。
<some lines here>
Key1:thingIWantToKnow
Key2:otherThing
Key3:bla
Key4:bla
Key5:bla
<(possibly) more lines here>

所有行都以换行符 (\n) 结尾。我想在找到我关心的键后存储值对。


5
好的,你目前为止尝试了什么? - Oliver Charlesworth
如何解析?您想将它们拆分为键值对吗? - Vivin Paliath
3个回答

3
如果您需要使用地图:

如果您需要使用地图:

Map<String, String> keyValueMap = new HashMap<String,String>();

String[] lines = input.split("\n");
if (lines == null) {
  //Compensate for strange JDK semantics
  lines = new String[] { input };
}

for (String line : lines) {
  if (!line.contains(":")) {
    //Skip lines that don't contain key-value pairs
    continue;
  }
  String[] parts = line.split(":");
  keyValueMap.put(parts[0], parts[1]);
}

return keyValueMap;

3
  1. 如果数据在字符串中,您可以使用StringReader按行读取文本。
  2. 对于每个读取的行,您可以使用String.startsWith(...)来查看是否找到了其中一个关键行。
  3. 当您找到包含键/值数据的行时,您可以使用String.split(...)分别获取键/值数据。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接