swift - 确定字符串是否包含 Swift 中集合中的字符的最佳方法是什么

标签 swift

我需要确定一个字符串是否包含我定义的自定义集中的任何字符。

我从 this 看到发布您可以使用 rangeOfString 来确定一个字符串是否包含另一个字符串。如果您一次测试每个字符,这当然也适用于字符。

我想知道最好的方法是什么。

最佳答案

您可以创建一个包含自定义字符集的 CharacterSet 然后针对此字符集测试成员资格:

swift 3:

let charset = CharacterSet(charactersIn: "aw")
if str.rangeOfCharacter(from: charset) != nil {
    print("yes")
}

对于不区分大小写的比较,使用

if str.lowercased().rangeOfCharacter(from: charset) != nil {
    print("yes")
}

(假设字符集只包含小写字母)。

swift 2:

let charset = NSCharacterSet(charactersInString: "aw")
if str.rangeOfCharacterFromSet(charset) != nil {
    print("yes")
}

swift 1.2

let charset = NSCharacterSet(charactersInString: "aw")
if str.rangeOfCharacterFromSet(charset, options: nil, range: nil) != nil {
    println("yes")
}

关于swift - 确定字符串是否包含 Swift 中集合中的字符的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486138/

相关文章:

arrays - 如何获取三个包含三个或更少对象的数组?

swift - 序列化具有自定义类的可选属性的最佳方法

javascript - 为什么当js调用location.reload()时不能使用JSConext.setObject到UIWebView?

ios - SKSpriteNode 获取0到360度的角度值

iOS 应用被拒绝 : Apps must follow the iOS Data Storage Guidelines or they will be rejected

Swift2:TKSubmitTransitionButton。当用户登录/注册不正确时,如何停止按钮的转换/动画

swift - 以最少的工作和维护捕获 Swift 日志行中的局部变量

ios - DateFormatter 不返回 "HH:mm:ss"的日期

swift - Swift 中的单引号字符

Swift SpriteKit 允许用户在玩家节点之间进行选择