如何检查char是否位于某个unicode范围之间......?

时间:2012-04-02 06:57:37

标签: iphone ios unicode utf-8 character-encoding

我想检查我从文本字段获取的特定字符是否位于特定十六进制字符集的特定十六进制范围之间...就像我输入大写字母C然后我将指定范围41-5a ..我想要为俄语字母表这样做。但是无法弄明白。我可以使用..

获得最后输入的字符
unichar lastEnteredChar= [[textField.text stringByReplacingCharactersInRange:range withString:string] characterAtIndex:[[textField.text stringByReplacingCharactersInRange:range withString:string]  length] - 1];

但不知道从哪里开始。

1 个答案:

答案 0 :(得分: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...
}

是否要将其约束到十六进制范围或其他范围,取决于您。我选择了你给出的例子(41至5a)。