0
我是scala的新手。我对正则表达式并不陌生,但scala的正则表达式对我来说有点混乱。例如,我的输入变量是从“设备”列字符串scala - 正则表达式
我想输入与名称转换,从上面一组以“平板”,从中年组到“桌面”,和其余的“PHONE”,如下。什么是最优雅的方式来做到这一点?
"IOSTABLET" => "TABLET"
"ANDROIDTABLET" => "TABLET"
"TABLET" => "TABLET"
"SAFARI" => "DESKTOP"
...
这里是我的解决方案使用模式匹配
val tablet = """.*(TABLET)$""".r
val phone = """.*(PHONE)$""".r
"IOSTABLET" match {
case tablet(device) => "TABLET"
case phone(device) => "PHONE"
case _ => "DESKTOP"
}
在我的选择中,因为Scala是功能最优雅的方式是模式匹配[docs](https://docs.scala-lang.org/tour/pattern-matching.html) –
代码示例中有一个类型,可能是你得到一个错误值的原因 - 'val tablet =“”“。*(TABLE)$”“”。r'应该是TABLET而不是TABLE,因为你指定它以那个单词结束($) – Ren
这是对的!囧... – user1269298