如果您有一个名为example.yaml
的文件,其中包含以下内容:
- subject: maths
。
如何在- subject
之后抓住字符串?
我已经可以阅读该文件的内容,但想知道如何从中获取特定的字符串。
注意:我知道正则表达式可能有所帮助,但从未使用它,并希望得到任何帮助。
答案 0 :(得分:23)
snakeyaml是一个解析YAML文件的库。易于在groovy中使用。
更新:将示例变量的类型更改为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的完整文档:
答案 1 :(得分:6)
FWIW,即将到来(在撰写本文时),Groovy 3.0版已直接支持yaml: http://docs.groovy-lang.org/next/html/api/groovy/yaml/package-summary.html与传统的YamlSlurper / YamlBuilder组合 您始终可以切换到该尚未正式发布的版本。