2014-01-17 48 views
1

我有这种行为,我不明白。rangeOfString不识别子字符串

NSString *title = [[PushNotifcationManager getPushNotificationSettingsForKey:@"settings"] objectForKey:@"title"]; 
NSLog(@"title: %@",title); //Outputs Test\ntest 
if([title rangeOfString:@"\n"].location == NSNotFound){ 
    //String contains no \n 
}else{ 
    //String contains \n 
} 

即使字符串包含明确 “\ n” 的[title rangeOfString:@"\n"].location == NSNotFound回报true。任何人都可以帮助我呢?

回答

2

NSLog("%@")不逃避字符串中反斜杠字符,所以输出 Test\ntest意味着你的字符串包含一个反斜杠字符后跟一个n, 不是一个换行符。

因此,你必须在一个字符串字面量代表一个反斜杠字符来检查

[title rangeOfString:@"\\n"] 

其中\\

+0

它的工作,谢谢! – dan