Как разобрать файл YAML в groovy?

скажем, если у вас есть файл с именем example.yaml, который содержит следующее: - subject: maths.

Как захватить строку после - subject?

Я уже могу прочитать содержимое файла, но хочу знать, как извлечь из него определенную строку.

note: я знаю, что regex может помочь, но никогда не использовал его и был бы признателен за любую помощь.

Ответ 1

snakeyaml - это библиотека для анализа файлов YAML. Прост в использовании в groovy.

UPDATE: изменил тип переменной примера на List, так как элемент верхнего уровня файла примера представляет собой коллекцию

@Grab('org.yaml:snakeyaml:1.17')

import org.yaml.snakeyaml.Yaml

Yaml parser = new Yaml()
List example = parser.load(("example.yaml" as File).text)

example.each{println it.subject}

Полная документация по snakeyaml:

https://bitbucket.org/asomov/snakeyaml/wiki/Documentation