特定の文字列に文字が含まれているかどうかを確認しようとしています。
これまでは文字のセットとして扱ってきましたNSCharacterSet.letterCharacterSet()
が、そのセット内の文字が指定された文字列に含まれているかどうかを確認するのに問題があります。このコードを使用すると、次のようなエラーが表示されます。
「Character」は「unichar」に変換できません
次のコードの場合:
for chr in input{
if letterSet.characterIsMember(chr){
return "Woah, chill out!"
}
}
ベストアンサー1
NSCharacterSet
以下のように使用できます。
let letters = NSCharacterSet.letters
let phrase = "Test case"
let range = phrase.rangeOfCharacter(from: letters)
// range will be nil if no letters is found
if let test = range {
println("letters found")
}
else {
println("letters not found")
}
または、次のようにすることもできます:
func containsOnlyLetters(input: String) -> Bool {
for chr in input {
if (!(chr >= "a" && chr <= "z") && !(chr >= "A" && chr <= "Z") ) {
return false
}
}
return true
}
Swift 2 の場合:
func containsOnlyLetters(input: String) -> Bool {
for chr in input.characters {
if (!(chr >= "a" && chr <= "z") && !(chr >= "A" && chr <= "Z") ) {
return false
}
}
return true
}
それはあなた次第です。方法を選択してください。これがお役に立てば幸いです。