2013-09-23 42 views
1

我有一个像这样的字符串NSString * mobile = @“09894598945”。 我如何检查上面字符串的第一个字符为零?如何检查NSString的第一个值

+1

的5" 在文档搜索会产生=>'[移动hasPrefix:@ “0”];价值' – Alladinian

+0

你是什么意思 “”?你的意思是字符还是转换后的整数值? –

+0

我改了it.it是字符 – user2681789

回答

0
NSString *[email protected]"09894598945"; 

    if ([mobile characterAtIndex:0] == '0') 
    { 
     NSLog(@"Yes it contain 0"); 
    } 

或者

if ([mobile hasPrefix:@"0"]) 
    { 
     NSLog(@"Yes it contain 0"); 
    } 
+0

它工作正常 – user2681789

+0

@ user2681789 - 你可以向上投票的朋友:) – Rajneesh071

1

正如在评论hasPrefix建议最适合在这里。但是你也可以使用substringWithRange函数。它有足够的灵活性,以检查字符串的第n个性格以及:

if([[mobile substringWithRange:NSMakeRange(0, 1)] isEqualToString:@"5"]) 
{ 
    // started with 5 
} 

编辑

正如评论与Nikolai Ruhe讨论,功能substringWithRange在评论中提到的代理对将无法正常工作。这是此功能的限制。

改为使用hasPrefix

+0

当字符串为空或者以代理对开始时,这不起作用 –

+0

@NikolaiRuhe,代理对的任何示例不起作用? – NeverHopeless

+0

任何:@“”,@“”,@“”。问题是'[substringWithRange:]'断线时会产生断线。尝试例如NSLog(@“'%@'”,[@“”substringToIndex:1])'。 –