字符串比较和相等判断
2015-09-27 21:24
344 查看
判断字符串是否相等
首先不能用== 来判断,因为==判断的存储在这个字符串的对象的值,这样很容易出错,那么我们用isEqualToString来进行判断int main(int argc, const char * argv[]) { NSString *str = @"jack"; NSString *str1 = [NSString stringWithFormat:@"jack"]; BOOL res = [str isEqualToString:str1]; if (res == YES) { NSLog(@"相等"); } else { NSLog(@"不相等"); } return 0; }
字符串大小的比较
NSString *str = @"jack"; NSString *str1 = @"yack"; NSComparisonResult res = [str compare:str1]; if (res == NSOrderedAscending ) { NSLog(@"第2个大"); }else if (res == NSOrderedDescending) { NSLog(@"第1个大"); }else { NSLog(@"相等"); }
若觉得这些参数不好记,可以用int来接受
NSString *str1 = @"jack"; NSString *str2 = @"jack"; int res = [str1 compare:str2]; switch (res) { case -1: NSLog(@"小于。。。"); break; case 0: NSLog(@"等于。。。"); break; case 1: NSLog(@"大于。。。"); break; }
看一下忽略大小写的判断
NSString *str = @"jack"; NSString *str1 = @"JAck"; int res = [str compare:str1 options:NSCaseInsensitiveSearch]; if (res > 0) { NSLog(@"第一个大"); }else if(res == 0) { NSLog(@"相等"); }else { NSLog(@"第二个大"); }
后面的参数NSCaseInsensitiveSearch就是忽略大小写的判断
完全匹配 :NSLiteralSearch
NSString *str1 = @"jack"; NSString *str2 = @"Jack"; int res = [str1 compare:str2 options:NSLiteralSearch]; if (res > 0) { NSLog(@"第一个大"); }else if(res == 0) { NSLog(@"相等"); }else { NSLog(@"第二个大"); }
相同格式下,字符串中数字的大小判断
NSString *str1 = @"jpg003"; NSString *str2 = @"jpg005"; int res = [str1 compare:str2 options:NSNumericSearch]; if (res > 0) { NSLog(@"第一个大"); }else if(res == 0) { NSLog(@"相等"); }else { NSLog(@"第二个大"); }
这些都是比较常用的
相关文章推荐
- 设计模式之单例模式(java)
- 数据结构 带头结点的单链表 操作大全 最全的链表操作(c++实现)
- JAVAWEB学习
- 软工之设计和编码
- SQLite数据库简介
- 走迷宫的题目
- 曾经永远是曾经,影子永远是影子。
- 第三周实验
- 学习总结
- AM335X Usb 配置设备 RNDIS
- java SE复习笔记50
- [软考]背包问题
- Haxe文档之Introduction(介绍)
- 青年歌手大奖赛_评委会打分
- 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接---个人整理
- list && iterator
- unix pwd使用命令
- 青年歌手大奖赛_评委会打分
- 最长上升子序列
- java SE复习笔记49