2012-04-02 9 views
2

私はテキストフィールドから取得する特定の文字がUnicode文字セットの特定の16進数の範囲にあるかどうかをチェックしたいと思います...もし私が大文字のCを入力すると、41-5aの範囲を指定します。これはロシアのアルファベットのためです。しかし、それをout.I把握カント最後の文字が...charが特定のUnicode範囲の間にあるかどうかをチェックする方法...?

unichar lastEnteredChar= [[textField.text stringByReplacingCharactersInRange:range withString:string] characterAtIndex:[[textField.text stringByReplacingCharactersInRange:range withString:string] length] - 1]; 

を使用して入力することができますが、どこここから行くするかわかりません。

答えて

3

あなたはそうのようなUITextFieldに特定の文字にアクセスすることができます:あなたが最後の文字たい場合

unichar charAt0 = [myTextField.text characterAtIndex:0]; 

だから:今すぐ

NSUInteger length = [myTextField.text length]; 
unichar lastChar = [myTextField.text characterAtIndex:length - 1]; 

lastCharを本当にただunsigned shortあるので、あなたは比較することができますそれはそうです:

if(lastChar >= 0x041 && lastChar <= 0x05A) 
{ 
    // do something... 
} 

それを16進数範囲または他の範囲に制限したいのは、あなた次第です。私はあなたが与えた例を選択しました(41から5)。

関連する問題