scala regex ..当存在一个或多个记录时匹配的单个模式

时间:2016-09-22 21:41:48

标签: scala

我需要一个scala解决方案,这是一个匹配我的第一个记录条目的模式,该条目跨多个记录中的多行。记录将始终以RECORD一词开头。

Scenario1

==================================================
RECORD-1
    "FOO BAR"
    "ID-100"
    "TOY"
==================================================

Scenario2

==================================================
RECORD-1
    "FOO BAR"
    "ID-100"
    "TOY"
RECORD-2
    "X BAR"
    "ID-200"
    "DOLL"
RECORD-3
    "Y BAR"
    "ID-400"
    "STATUE"
==================================================

在这两种场景中,我需要使用scala代码提取第一条记录“FOO BAR”。 REPL解决方案更受欢迎。

1 个答案:

答案 0 :(得分:0)

您可以从简单捕获所有内容开始,直到第二条记录。

scala> val firstRec = io.Source.fromFile("records.txt").getLines.takeWhile(_ != "RECORD-2")
firstRec: Iterator[String] = non-empty iterator

从那里你可以修剪不需要的部分(标题,空白行,等等)的记录。