私は構成ファイルから値を抽出するために1つのライナーを持っています。正規表現を2回適用する必要はありません(行を一致させるには1回、グループを取得するにはもう一度)。これを避ける方法は誰にもありますか?Scala正規表現を使用して1つのライナーとしてファイルから値を抽出する
例データTEMP.TXT:
scalaVersion=2.11.5
scalaXMLVersion=1.0.3
jUnitVersion=4.8.2
log4JVersion=1.2.17
"ワン" ライナー
val cfg: File = new File("temp.txt")
val regexp = """jUnitVersion=(.*)"""
val version = Source.fromFile(cfg)
.getLines
.find(_.matches(regexp))
.map(regexp.r.findFirstMatchIn(_).get.group(1))
.getOrElse("NOTFOUND")
println(version)
出力
4.8.2
'collectFirst' – Dima
@Dimaありがとう、ずっとよかった – Mikesname