2015-10-19 53 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") 
相關問題