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