我需要檢查,如果一個詞以元音或輔音,這樣的事情開始:檢查,如果一個詞以元音開頭或輔音
let word = "ciao"
if wordStartsWithVowel {
print("Word starts with Vowel!")
}
我怎麼能這樣做?
我需要檢查,如果一個詞以元音或輔音,這樣的事情開始:檢查,如果一個詞以元音開頭或輔音
let word = "ciao"
if wordStartsWithVowel {
print("Word starts with Vowel!")
}
我怎麼能這樣做?
let vowels: [Character] = ["a","e","i","o","u"]
let word = "ciao"
if vowels.contains(word.lowercased().characters.first!) {
print("Word starts with Vowel!")
}
.lowercaseString
是重要的,因爲,否則,大寫元音字母將不會被識別爲元音。
「小時」從元音開始,但以「h」開頭。 – HenryLok
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
http://stackoverflow.com/q/32769582/2303865 –
根本不是一回事。 –
是的不一樣。這一個更容易。你只需要檢查第一個字符 –