首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift switch语句中的字符串模式匹配

Swift switch语句中的字符串模式匹配
EN

Stack Overflow用户
提问于 2020-10-20 06:36:25
回答 1查看 57关注 0票数 0

我对swift switches中的模式匹配有个问题。我需要检查一个字符串,看看它是否包含一些字符,并根据它返回数据。我有以下(缩短的)代码:

代码语言:javascript
复制
static func getCorrectChords(chord: String) -> [Chord] {
    let test = chord
    switch test {
    case let x where x.contains("-") && x.contains("2"):
        return allChords[8]

    ///// other similar statements

    default:
        return allChords[0]
    }
}

如果我将字符串“RE-2”传递给函数,它将切换所有语句,然后使用默认情况。如果我在操场上尝试一个非常相似的代码,它可以正常工作。我有什么地方做错了吗?如何获取正确的返回值?

非常感谢!

编辑:更正了代码中的大括号和缩进。现在答案中就有了解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 16:42:50

我找到问题了。我没有正确地隔离问题。问题是我的源数据有一个稍微不同的"-“字符,Swift (正确地说是这样)认为它不等于切换情况下的条件。我对输入进行了消毒,现在它可以正常工作。在操场上,我确实手动编写了输入,所以问题不会出现。

无论如何,非常感谢你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64435958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档