几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换

用途一:字符串的创建

 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",@""];
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 != )//找到字符串
{
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",,12.34,'A',"hello world"];
NSLog(@"str1 = %@",str1); //2.字符串转换为整型
NSString *str2 = @"";
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); }

最新文章

  1. Alpha阶段测试报告
  2. Facebook 帆布接入的总结
  3. raspberry pi
  4. Windows性能计数器2
  5. MySQL架构优化实战系列2:主从复制同步与查询性能调优
  6. .net中div置于顶层+iframe
  7. 在C#中使用 Win32 和其他库
  8. 成为JAVA软件开发工程师要学哪些东西
  9. Linux的selinux
  10. 贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
  11. java之JAVA异常
  12. 关于block使用的几点注意事项
  13. 如何在github制作一个网页
  14. 拉勾网爬取全国python职位并数据分析薪资,工作经验,学历等信息
  15. 行为型---命令模式(Command Pattern)
  16. vue单页应用添加百度统计
  17. Kotlin入门(2)让App开发变得更容易
  18. CMake 示例
  19. js给原型增加新属性和方法
  20. python 部分数据处理代码

热门文章

  1. 在Linux下将TPC-H数据导入到MySQL
  2. SpringSecurity3基础篇
  3. 二、django rest_framework源码之认证流程剖析
  4. 镣铐之舞:美团安全工程师Black Hat USA演讲
  5. [leetcode sort]57. Insert Interval
  6. IE7 css兼容问题
  7. 使用 Nokia Imaging SDK 开发有滤镜功能的 Windows Phone 8 应用
  8. 升级Tornado到4后weibo oauth登录不了
  9. js的栈与堆
  10. SQL Structured Query Language(结构化查询语言) 数据库