我有这种行为,我无法理解。
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
。
答案 0 :(得分:3)
NSLog("%@")
不会在字符串中转义反斜杠字符,因此输出
Test\ntest
表示您的字符串包含反斜杠字符,后跟n
,
不是换行符。
因此你必须检查
[title rangeOfString:@"\\n"]
其中字符串文字中的\\
代表一个反斜杠字符。