consider I have a file like (just an excerpt)
name: 'foobar'
I like to retrieve foobar
when I discover the line with name
.
My current approach is
Pattern m = Pattern.compile("name: '(.+)'");
try (Stream<String> lines = Files.lines(ruleFile)) {
Optional<String> message = lines.filter(m.asPredicate()).findFirst();
if (message.isPresent()) {
Matcher matcher = m.matcher(message.get());
matcher.find();
String group = matcher.group(1);
System.out.println(group);
}
}
which looks not nice. The excessive use of the pattern and matcher seems wrong.
Is there a easier/better way ? Especially if I have multiple keys I like to search like this ?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…