2015-10-19 20 views
3

我想检查一个字符串是否至少包含一个数组中的元素。Swift:检查字符串,如果它有一个数组中的元素

我试过这个,但我认为它太长了。想象一下,如果我想要if语句中的所有字母。我希望有一个适当的方法来做到这一点。我试过使用一个数组,但它不起作用。它需要数组中的所有元素都具有“是”的结果。

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

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

+0

你明白为什么你的第二次尝试失败了吗?这将帮助你解决这个问题。 –

+0

@aaron是的,我认为这是因为我确实把整个数组放在containsString中,但我不知道如何检查至少有一个数组包含字符串。 –

回答

4
let str = "Hello, playground." 
let vogalsSet = NSCharacterSet(charactersInString: "aeiou") 
if str.componentsSeparatedByCharactersInSet(vogalsSet).first != str { 
    print("at least one character was found") 
} else { 
    print("not found") 
} 

,或者您也可以检查是否rangeOfCharacterFromSet()!=零

if str.rangeOfCharacterFromSet(vogalsSet) != nil { 
    print("at least one character was found") 
} else { 
    print("not found") 
} 
+1

这非常简单。这正是我需要的。谢谢! –

+0

@ChrisTope欢迎您 –

0

尝试使用此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") 
相关问题