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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift:检查String是否在Array中有元素相关的知识,希望对你有一定的参考价值。

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

我试过了,但我认为这太长了。想象一下,如果我想要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

我尝试使用数组,但它不起作用。它需要数组中的所有元素都得到“是”的结果。

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

顺便说一下,我还是个新手还在学习。希望有人能提供帮助。谢谢

答案
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")
}

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

if str.rangeOfCharacter(from: vogalsSet) != nil {
    print("at least one character was found")
} else {
    print("not found")
}
另一答案

尝试使用此switch语句。

let mySentence = "Hello Motto"
var findMyVowel: Character = "a" 
switch findMyVowel { 
case "a","e","i","o","u": 
    print("yes") 
default:
    print("no")
} 
mySentence.containsString("e")

以上是关于Swift:检查String是否在Array中有元素的主要内容,如果未能解决你的问题,请参考以下文章

如何检查列表中是不是有元组?

哪一个更高性能:使用Swift Array.contains函数或使用if(.. || .. || ..)进行检查?

如何检查String是否是Swift中的Int?

swift Int和String的Swift扩展,用于转换为罗马和阿拉伯数字,并检查给定的罗马数字String是否为

检查数组中的最后一个元素是不是匹配条件

检查 Array 的元素是不是包含指定的 String