我需要确定一个字符串是否包含我定义的自定义集中的任何字符。
您可以使用rangeOfString确定一个字符串是否包含另一个字符串。如果您一次测试一个字符,那么这当然也适用于字符。
我想知道什么是最好的方法。
您可以创建一个CharacterSet包含自定义字符集的,然后针对此字符集测试成员资格:
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") }