0
我解析有文件值Java的字符串分析,包括断线之后,正则表达式
kv {
key "val1"
data "10"
}
kv {
key "val2"
data "20"
}
kv {
key "val3"
}
Pattern p = Pattern.compile("\\s+key.+");
Scanner sc = new Scanner(new File("kv.txt"));
while (sc.hasNextLine()) {
sc.nextLine();
String line = sc.findInLine(p);
if (line != null) {
System.out.println(line);
}
}
上面的代码是精细采摘所有具有价值的“钥匙”行,但在某些情况下,我得到的数据也有“数据”元素如前两个记录中所示。想知道我应该将什么正则表达式传递给Pattern.compile方法,该方法将数据直到结束花括号 - “}”作为kv元素。对于前两个kv记录(包含4个子字符串的字符串)和最后一个 - >键“val3”和“val3”数据“20”和键“val2”数据“20” “ 只要。
可以写你预期的输出试试? – apgp88
嗨,它将像 - >键“val2” 前两个kv记录(包含4个子字符串的字符串)和最后一个 - >键“val3”的数据“20”。 – Ammad