gpt4 book ai didi

Swift4 正确的方法来测试字符串的子字符串?

转载 作者:可可西里 更新时间:2023-11-01 00:18:53 24 4
gpt4 key购买 nike

我正在解析一行文本的前两个字符,并对可能的模式进行大量比较:

在我的卡片类中:

static let ourTypes = ["PL", "SY", "XT"]

在很多其他地方:

if Card.ourTypes.contains(line[0..<2]) { continue }

Swift4(3?)更改了 [] 以返回子字符串。我知道我可以用 String(line[0..<2]) 把它扔回去,但我怀疑这是错误的解决方案...有更好的方法吗?

最佳答案

一种方法是将您的 ourTypes 数组设为 [Substring],这样您就不必将 Substring 转换为使 contains 工作:

static let ourTypes: [Substring] = ["PL", "SY", "XT"]

if Card.ourTypes.contains(line.prefix(2)) { continue }

@matt 观察到使用 contains 进行搜索比使用 Set 更好(因为它更有效)可以通过以下方式完成:

static let ourTypes: Set<Substring> = ["PL", "SY", "XT"]

关于Swift4 正确的方法来测试字符串的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56585843/

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