Как проверить, находится ли символ между определенным диапазоном Unicode ...? - PullRequest
2 голосов
/ 02 апреля 2012

Я хочу проверить, находится ли конкретный символ, который я получаю из текстового поля, между конкретным шестнадцатеричным диапазоном набора символов Юникода ... Например, если я введу заглавную букву C, я укажу диапазон 41-5a .. Я хочусделать это для русского алфавита.Но не могу понять. Я могу получить последний введенный символ, используя ..

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

, но не знаю, куда идти.

1 Ответ

3 голосов
/ 02 апреля 2012

Вы можете получить доступ к определенному символу в 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...
}

Если вы хотите ограничить его шестнадцатеричным или каким-либо другим диапазоном, решать только вам.Я выбрал примеры, которые вы привели (41 - 5а).

...