我有一个接受字符串的失败初始化器,如果这个字符串包含不正确的字符(T、A、C、G),我想返回 nil:
我试过这样的,不成功:
init?(strand: String) {
let success = strand.contains(where: { !"TACG".contains($0) })
if !success {
return nil
}
self.strand = strand
}
不知何故,我对这两个 contains
调用感到困惑,所以我不确定我的检查是否正确。
任何帮助表示赞赏。
最佳答案
在这种情况下,我更喜欢 API rangeOfCharacter(from
,它根据字符集检查字符串
init?(strand: String) {
guard strand.rangeOfCharacter(from: CharacterSet(charactersIn: "TACG")) == nil else { return nil }
self.strand = strand
}
关于swift - 如何检查字符串是否包含 Swift 5 中的多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677628/