黑马程序员——Foundation框架——NSString常用方法
2015-12-04 22:07
399 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. 创建字符串
2. 比较字符串大小
compare默认区分大小写,和C语言中的strcmp一样,是取出字符的ASCII值进行比较,compare的返回结果有三种:
NSOrderedAscending——升序排列
NSOrderedDescending——降序排列
NSOrderedSame——两个字符串相等
“==”比较的是两个字符串的地址,而不是字符串的内容,用isEqualToString判断字符串内容是否相等
3. 字符串前后缀检查
检查字符串前缀
检查字符串后缀
4. 字符串查找
rangeOfString——查找某个字符串在另外一个字符串中首次出现的位置,返回值是一个NSRange的结构体
5. 字符串的截取
- (NSString *)substringFromIndex:(NSUInteger)anIndex
截取从指定位置anIndex开始(包括anIndex),到尾部的字符串
- (NSString *)substringToIndex:(NSUInteger)anIndex
截取从开始位置到指定位置anIndex(不包括anIndex)的字符串
- (NSString *)substringWithRange:(NSRange)aRange
按照aRange给定的子串的起始位置和长度从字符串中截取子串
6. 获取字符串的长度
-(NSUInteger) length
返回字符串的长度,中英字符都按一个字符
7.获取字符串中的每个字符
- (unichar)characterAtIndex:(NSUInteger)index
返回字符串中index对应位置的字符
8.字符串和其他数据类型的转换
1. 创建字符串
//在常量区创建字符串对象 NSString *str1=@"abc"; NSString *str2=[NSString stringWithString:@"hello"]; NSString *str3=[[NSString alloc] initWithString:@"aa"]; //在堆区创建字符串对象 NSString *str4=[NSString stringWithFormat:@"happy"]; NSString *str5=[[NSString alloc] initWithFormat:@"bb"];
2. 比较字符串大小
compare默认区分大小写,和C语言中的strcmp一样,是取出字符的ASCII值进行比较,compare的返回结果有三种:
NSOrderedAscending——升序排列
NSOrderedDescending——降序排列
NSOrderedSame——两个字符串相等
NSString *str1=@"Hello"; NSString *str2=@"hello"; //默认方式比较字符串str1和str2 NSComparisonResult result1=[str1 compare:str2]; //比较字符串str1和str2,不区分大小写 NSComparisonResult result2=[str1 compare:str2 options:NSCaseInsensitiveSearch]; //比较字符串str1和str2,按字符个数进行比较 NSComparisonResult result3=[str1 compare:str2 options:NSNumericSearch];
“==”比较的是两个字符串的地址,而不是字符串的内容,用isEqualToString判断字符串内容是否相等
//判断两个字符串的内容是否相等 if ([str1 isEqualToString:str2]) { NSLog(@"两个字符串相等"); }else{ NSLog(@"两个字符串不相等"); }
3. 字符串前后缀检查
检查字符串前缀
NSString *url=@"http://xxxxxxx"; //通过检查前缀判断字符串是否是一个网址 if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) { NSLog(@"这是一个网址"); }else{ NSLog(@"这是一个网址"); }
检查字符串后缀
NSString *imgName=@"xxxx.jpg"; //检查后缀判断字符串是否图片名称 if ([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".jpeg"]||[imgName hasSuffix:@".png"]) { NSLog(@"这是一张图片"); }else{ NSLog(@"这不是一张图片"); }
4. 字符串查找
rangeOfString——查找某个字符串在另外一个字符串中首次出现的位置,返回值是一个NSRange的结构体
NSString *str3=@"happy everyday forever"; NSString *str4=@"everyday"; //查找str4在str3中首次出现的位置 NSRange range=[str3 rangeOfString:str4]; //判断是否找到 if (range.location!=NSNotFound) { NSLog(@"首次出现的位置是%lu,长度是%lu",range.location,range.length); }else{ NSLog(@"没有找到"); }
5. 字符串的截取
- (NSString *)substringFromIndex:(NSUInteger)anIndex
截取从指定位置anIndex开始(包括anIndex),到尾部的字符串
- (NSString *)substringToIndex:(NSUInteger)anIndex
截取从开始位置到指定位置anIndex(不包括anIndex)的字符串
- (NSString *)substringWithRange:(NSRange)aRange
按照aRange给定的子串的起始位置和长度从字符串中截取子串
NSString *str1=@"http://www.baidu.com"; <pre name="code" class="objc">//截取str1从第五个位置开始到尾部的字符串保存在str2中NSString *str2=[str1 substringFromIndex:5]; NSLog(@"%@",str2); //截取从第0个位置开始到第五个位置的字符串保存在str3中 NSString *str3=[str1 substringToIndex:5]; //按照参数中NSRange截取字符串 NSString *str4=[str1 substringWithRange:NSMakeRange(5, 8)];
6. 获取字符串的长度
-(NSUInteger) length
返回字符串的长度,中英字符都按一个字符
7.获取字符串中的每个字符
- (unichar)characterAtIndex:(NSUInteger)index
返回字符串中index对应位置的字符
8.字符串和其他数据类型的转换
// intValue——把字符串转换成int类型的数据,返回一个int类型整数 NSString *a=@"1"; int a1=[a intValue]; //floatValue——把字符串转换成float类型的数据,返回一个float类型整数 NSString *b=@"1.2"; float b1=[b floatValue]; //doubleValue——把字符串转换成double类型的数据,返回一个double类型整数: NSString *c=@"2.3"; double c1=[c doubleValue]; //stringwithUTF8String——把C语言的字符串转换成OC中的字符串 char *s="Hello World"; NSString *str=[NSString stringWithUTF8String:s]; //UTF8String——把OC中得字符串转换成C语言中的字符串 NSString *str3=@"happy everyday forever"; const char *s1=[str3 UTF8String];
相关文章推荐
- hpuoj 1720: 感恩节KK专场——面试难题【贪心】
- 王道程序员求职宝典阅读笔记20151204
- 细思极恐!未来百万人将下岗十大职业将消失
- 国内互联网公司算法&机器学习岗(阿里星)面试总结
- 2015年应届硕士生求职经验总结【算法工程师岗&无线通信研发岗】
- 黑马程序员之System、Runtime、Math、Date、Calendar类
- Java 50线程面试题
- 请听一个故事------>一次皆大欢喜的程序员跳槽加薪
- 校园招聘IT类求职体会
- 程序员的VIM配置
- iOS 面试基础题
- 黑马程序员——OC学习——@class的使用
- 程序员面试金典第五章 行为面试题
- 面试官总会在面试最后问“你有什么问题需要问我吗?” 怎们答?
- iOS 面试题汇总
- 王道程序员求职宝典阅读笔记20151204
- 黑马程序员--字节流
- 程序员面试金典第四章 面试之前
- 黑马程序员--字符流
- 程序员面试金典第一章 面试流程以及面试时十大常见错误