gpt4 book ai didi

regex - 带有内联正则表达式的 Scala 匹配语句

转载 作者:行者123 更新时间:2023-12-01 07:35:31 24 4
gpt4 key购买 nike

我正在尝试(如果可能的话)获取 Scala 匹配/案例语句来为我执行内联正则表达式匹配。

具体来说,我有一个方法可以运行 match ,如果该方法的输入以字符串“fizz”开头,那么我希望 match 语句选择正确的大小写:

def animalToSound(animal : String) : String = {
animal match {
case "duck" => "quack"
case "lion" => "roar"
case "dog" => "woof"
case matchesFizzRegex(animal) => "heyo!"
case _ => "meow"
}
}

def matchesFizzRegex(animal : String) : ??? = {
val fizzRegex = "fizz*".r
if(fizzRegex.match(animal)) {
???
} else {
???
}
}

所以如果我调用 animalToSound("fizzBuzz") ,那么所需的行为是:
  • “fizzBu​​zz”等于“duck”吗?不,请尝试下一个案例。
  • “fizzBu​​zz”等于“狮子”吗?不,请尝试下一个案例。
  • “fizzBu​​zz”是否等于“狗”?不,请尝试下一个案例。
  • “fizzBu​​zz”是否匹配 fizz 正则表达式(任何以“fizz”开头的字符串)?是的,所以返回“嘿!”

  • 有什么想法可以让我正常工作吗?

    最佳答案

    简单直接

    使用 pattern matching with guardsmatches字符串方法

    def animalToSound(animal : String) : String = animal match {
    case "duck" => "quack"
    case "lion" => "roar"
    case "dog" => "woof"
    case x if x matches "fizz.*" => "heyo!"
    case _ => "meow"
    }

    关于regex - 带有内联正则表达式的 Scala 匹配语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39893255/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com