Objective-C:NSString类的常见用法
2015-08-17 19:11
260 查看
几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换
用途一:字符串的创建
用途二:字符串的搜索
用途三:字符串的比较
用途四:字符串的转换
用途一:字符串的创建
void ex1() { //1.常量字符串的对象 NSString *str1 = @"hello world"; NSLog(@"str1 = %@",str1); //2.通过类方法创建字符串 NSString *str2 = [NSString stringWithString:str1]; NSLog(@"str2 = %@",str2); //3.通过实例方法创建 NSString *str3 = [[NSString alloc]initWithString:str1]; NSLog(@"str3 = %@",str3); //4.格式化字符串方式创建 NSString *str4 = [NSString stringWithFormat:@"name=%@,password=%@",@"admin",@"123456"]; NSLog(@"str4 = %@",str4); //5.通过C语言字符串的创建 char *pstr = "how are you?"; NSString *str5 = [NSString stringWithUTF8String:pstr]; NSLog(@"str5 = %@",str5); //6.通过文件的方式创建字符串 NSError *error = nil; NSUInteger enc; NSString *str6 = [[NSString alloc]initWithContentsOfFile:@"/Users/mac/Java/IO/2.txt" usedEncoding:&enc error: &error]; if(!error) { NSLog(@"str6 = %@",str6); } else { NSLog(@"读取文件失败:%@",error); } //7.通过网络数据创建字符串 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; NSString *str7 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; if(!error) { NSLog(@"str7 = %@",str7); } else { NSLog(@"读取网络失败:%@",error); } }
用途二:字符串的搜索
void ex2() { //1.搜索字符串 NSString *str = @"this is a test"; NSRange nsr = [str rangeOfString:@"test"];//返回一个结构体 if(nsr.length != 0)//找到字符串 { NSLog(@"location=%lu,length=%lu",nsr.location,nsr.length); } //2.查找字符串是不是以什么前缀开始 NSString *str2 = @"http://www.sina.com.cn"; if([str2 hasPrefix:@"http"]) { NSLog(@"http协议"); } //3.查找字符串是不是以什么后缀开始 NSString *str3 = @"1.txt"; if([str3 hasSuffix:@"txt"]) { NSLog(@"文本文件"); } //4.在字符串中截取字串 NSString *str4 = @"http://www.sxt.cn?user=admin&password=1233456"; NSRange range1 = [str4 rangeOfString:@"user="]; NSRange range2 = [str4 rangeOfString:@"&password="]; //求出user的字符串区间并输出字符串 //用户名起始位置 NSUInteger location = range1.location + range1.length; //用户名的有效长度 NSUInteger length = range2.location - location; NSRange range3 = NSMakeRange(location,length); NSString *user = [str4 substringWithRange:range3]; //求出password的字符串 NSString *password = [str4 substringFromIndex:range2.location+range2.length]; NSLog(@"user=%@,password=%@",user,password); }
用途三:字符串的比较
void ex3() { //对象比较 //1.判断两个对象是不是同一个对象 NSString *str1 = @"hello world"; NSString *str2 = @"how are you"; NSString *str3 = str1; if(str1 == str3) { NSLog(@"str1和str3是同一个对象"); } //或者 if([str1 isEqual:str3]) { NSLog(@"str1和str3是同一个对象"); } //或者 if([str1 isEqualTo:str3]) { NSLog(@"str1和str3是同一个对象"); } //2.判断字符串是否相等 if([str1 isEqualToString:@"hello world"]) { NSLog(@"字符串相等"); } //3.字符串的比较 NSComparisonResult result = [str1 compare:str2]; if(result== NSOrderedSame) { NSLog(@"两个字符串相等"); } else if(result == NSOrderedAscending) { NSLog(@"第一个小于第二个字符串"); } else { NSLog(@"第一个大于第二个字符串"); } }
用途四:字符串的转换
void ex4() { //1.其它类型转换成字符串 NSString *str1 = [NSString stringWithFormat:@"%D,%.2f,%c,%s",10,12.34,'A',"hello world"]; NSLog(@"str1 = %@",str1); //2.字符串转换为整型 NSString *str2 = @"20"; NSInteger i = [str2 integerValue]; NSLog(@"i = %ld",i); //3.字符串转换为实型 NSString *str3 = @"12.34"; CGFloat f = [str3 doubleValue]; NSLog(@"f = %.2f",f); //4.字符串转换为C语言的字符串 NSString *str4 = @"how are you"; const char *pstr = [str4 UTF8String]; NSLog(@"pstr = %s",pstr); }
相关文章推荐
- Objective-C:Foundation框架
- ASP入门(十四)-FileSystemObject 对象
- [caffe]深度学习之CNN检测object detection方法摘要介绍
- Object C学习笔记6-如何在Windows环境搭建Object C开发环境
- 插件开发之无法解释的外部符号 DllCanUnloadNow和DllGetClassObject
- OBjective-C:atomic和nonatomic的区别
- post a json object with an array using curl
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc
- Objective-C 数据类型定义的标示符(一)
- 给Objective-C的“悼词”
- javascript object 相等判断逻辑
- flex 客户端缓存SharedObject
- org.hibernate.NonUniqueObjectException
- ****Objective-C 中的方法的调用
- android Parcelable 带有数组的对象如何序列化 String[] Long[] int[] Object[]
- 【OC语言】第一篇·Objective-C概述和面向对象
- [Objective-C] 016_UI篇_UIView(上)
- sys_privilege & object_privilege
- foreach遍历----for(object o: list)
- Objective-C葵花宝典第一重(内功篇)--类与对象