私はスカラーが初めてです。私は正規表現には新しくないが、スカラーの正規表現はちょっと混乱している。例えば、私の入力変数は、私は真ん中のグループから「デスクトップ」に、上位グループから「TABLET」に名前を入力を変換したい、とに休むだろう「DEVICE」欄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 tab =" ""。*(TABLE)$ "" "rはTABLEの代わりにタブレットでなければなりません。 ($) – Ren
そうですよ!囧... – user1269298