Swift:检查String是否在数组中有元素

Chr*_*ope 4 arrays string swift

我想检查一个字符串是否在数组中至少包含一个元素。

我试过了,但是我觉得太长了。想象一下,如果我想要if语句中的所有字母。我希望有适当的方法可以做到这一点。

var str = "Hello, playground."

let typeString = NSString(string: str)

if typeString.containsString("a") || typeString.containsString("e") || typeString.containsString("i") || typeString.containsString("o") || typeString.containsString("u") {
print("yes")
} else { 
print("no")
}
// yes
Run Code Online (Sandbox Code Playgroud)

我尝试使用数组,但无法正常工作。它需要数组中的所有元素的结果为“是”。

let vowels = ["a", "e", "i", "o", "u"]
if typeString.containsString("\(vowels)") {
print("yes")
} else {
print("no")
}
// no
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我还是一个新手,还在学习。希望有人能帮忙。谢谢

Leo*_*bus 5

let str = "Hello, playground."
let vogalsSet = CharacterSet(charactersIn: "aeiou")
if str.components(separatedBy: vogalsSet).first != str {
    print("at least one character was found")
} else {
    print("not found")
}
Run Code Online (Sandbox Code Playgroud)

或者您也可以检查rangeOfCharacter(from aSet: CharacterSet)!= nil

if str.rangeOfCharacter(from: vogalsSet) != nil {
    print("at least one character was found")
} else {
    print("not found")
}
Run Code Online (Sandbox Code Playgroud)