-6ren">
gpt4 book ai didi

regex - 使用正则表达式提取部分字符串并将其分配给变量 scala

转载 作者:行者123 更新时间:2023-12-01 23:22:28 25 4
gpt4 key购买 nike

我有

val str = "abc:def"
val pattern = "(.*):.*".r
val prefix = str match {
case pattern(prefix) => prefix
case _ => ""
}

我想避免 MatchError 所以如果它匹配我将返回匹配否则我将返回“”。这会编译并提取“prefix =”abc”。但是我收到一条警告说

Suspicious shadowing by a Variable Pattern

IDE 建议将 `` 放在 pattern(`prefix`) 周围。

有更好的方法吗?为什么 IDE 会建议该解决方案。

最佳答案

IDE 显示警告是因为您有 2 个同名变量,我建议将内部变量重命名为不同的名称:

val prefix = str match {
case pattern(pref) => pref
case _ => ""
}

在这种情况下,反引号的建议不是你想要的,如果你想匹配一个变量的值,你会使用它(IDE​​ 认为你想要那个,因为 prefix 是名称现有变量)。

关于regex - 使用正则表达式提取部分字符串并将其分配给变量 scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005483/

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