2016-02-18 38 views
-1

我需要檢查,如果一個詞以元音或輔音,這樣的事情開始:檢查,如果一個詞以元音開頭或輔音

let word = "ciao" 

if wordStartsWithVowel { 
    print("Word starts with Vowel!") 
} 

我怎麼能這樣做?

+2

http://stackoverflow.com/q/32769582/2303865 –

+0

根本不是一回事。 –

+1

是的不一樣。這一個更容易。你只需要檢查第一個字符 –

回答

0
let vowels: [Character] = ["a","e","i","o","u"] 
let word = "ciao" 

if vowels.contains(word.lowercased().characters.first!) { 
    print("Word starts with Vowel!") 
} 

.lowercaseString是重要的,因爲,否則,大寫元音字母將不會被識別爲元音。

+0

「小時」從元音開始,但以「h」開頭。 – HenryLok

1
extension Character { 
    var isVowel: Bool { return ["a","e","i","o","u","A","E","I","O","U"].contains(self) } 
    var isConsonant: Bool { return ["b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z", 
            "B","C","D","F","G","H","J","K","L","M","N","P","Q","R","S","T","V","W","X","Y","Z"].contains(self) } 
} 
extension String { 
    var startsWithVowel: Bool { 
     return characters.first?.isVowel ?? false 
    } 
    var startsWithConsonant: Bool { 
     return characters.first?.isConsonant ?? false 
    } 
} 

let word = "ciao" 

print(word.startsWithVowel)  // false 
print(word.startsWithConsonant) // true 

或者如果你喜歡使用NSCharacterSet:

extension Character { 
    struct CharacterSet { 
     static let vowel = NSCharacterSet(charactersInString: "aeiouAEIOU") 
     static let consonant = NSCharacterSet(charactersInString: "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ") 
    } 
    var characterSetValue: NSCharacterSet { return NSCharacterSet(charactersInString: String(self)) } 
    var isVowel:  Bool { return CharacterSet.vowel.isSupersetOfSet(characterSetValue) } 
    var isConsonant: Bool { return CharacterSet.consonant.isSupersetOfSet(characterSetValue) } 
} 
"a".characters.first!.isConsonant  // false 
"a".characters.first!.isVowel   // true 
相關問題