从Scala中的String提取日期

时间:2018-08-23 09:01:52

标签: regex string scala date pattern-matching

我将此文本作为字符串"Report Date 2018-05-04 ""Report Run Date"" 2018-05-05"

在上面,我要打印2018-05-04。我可以使用substring方法来做到这一点,但这不是正确的方法,需要进行正则表达式模式匹配。

请让我知道在这种情况下哪种正则表达式可以工作。

顺便说一句,我正在使用Scala

1 个答案:

答案 0 :(得分:2)

诸如\d{4}-\d{2}-\d{2}之类的方法将会起作用。在Scala中:

scala> val testString = """"Report Date 2018-05-04   ""Report Run Date"" 2018-05-05""""
testString: String = "Report Date 2018-05-04   ""Report Run Date"" 2018-05-05"

scala> val pattern = "\\d{4}-\\d{2}-\\d{2}".r  // XXXX-XX-XX where X is a number
pattern: scala.util.matching.Regex = \d{4}-\d{2}-\d{2}

scala> (pattern findAllIn testString).toList
res0: List[String] = List(2018-05-04, 2018-05-05)

如果您想了解有关Regex的更多信息,请在Regex101之类的网站上玩转。