2013-09-23 69 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])'。 –