如何检查我的String的最后一个字符是否为数字。

时间:2014-02-26 14:07:21

标签: ios iphone objective-c

我正在创建一个ios应用程序,我想检查我从另一个字符串的分隔创建的字符串的最后一个字符是数字还是字母。谢谢提前!

3 个答案:

答案 0 :(得分:3)

你可以试试这个

NSString *testString = @"testabc123";
unichar character = [testString characterAtIndex:testString.length - 1];
if (isdigit(character)) {
    NSLog(@"It's a digit");
}
else if (isalpha(character)) {
    NSLog(@"It's a character");
}

isdigit是标准的C函数。

编辑:还添加了isalpha,因为并非每个非数字都是字符。

答案 1 :(得分:0)

您想获取String的长度,然后检查最后一个索引的值。我建议您在此处找到所需的方法:NSSTRING CLASS REFERENCE

答案 2 :(得分:0)

在子字符串上使用此函数,字符串的最后一个字符

-(BOOL)stringIsNumeric:(NSString *)str {

    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    NSNumber *number = [formatter numberFromString:str];
    return !!number;

}

使用它:

    NSString * string = @"1234";
    NSString * lastChar = [string substringFromIndex:string.length-1];   
    [self stringIsNumeric:lastChar];