一尘不染

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

swift

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

您可以使用rangeOfString确定一个字符串是否包含另一个字符串。如果您一次测试一个字符,那么这当然也适用于字符。

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


阅读 319

收藏
2020-07-07

共1个答案

一尘不染

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

斯威夫特3:

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

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

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

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

斯威夫特2:

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

斯威夫特1.2

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