如何从三个可能的不同输入中提取整数(秒)?

时间:2015-06-24 16:06:53

标签: regex scala playframework

正如我在标题中所描述的,如何从包含整数和字符的字符串输入中获取整数数据。

该功能的可能输入是: (“1分钟。”......“9分钟。”), (“11:59”......“12:00”)和 (“>>”),我可以假设为0。

我提出了这个解决方案,但返回了我的确切字符串作为输入。如何只得到这个模式中存在的数字。

def toSeconds(time : String) : String = {
    val pattern = """(\d+) min.""".r
    val pattern2 = """(\d+):(\d+).""".r

    if(pattern.findFirstIn(time) != "None")
    {
        pattern.findFirstIn(time).toString.concat("h") 
    }
    if (pattern2.findFirstIn(time) != "None")
    {
        pattern2.findFirstIn(time).toString.concat("x")
    }
    if (time == ">>") 0.toString
    else time
}

1 个答案:

答案 0 :(得分:1)

我这样做:

time match {
  case pattern(m) => s"${m}h"
  case pattern2(h,m) => s"${h}h${m}"
  case ">>" => "0"
  case _ => time
}