NSString *info=@"Hello world";

NSString *info=[[NSString alloc]initWithFormat:@"my name is %@",name];

将char 类型的字符串和 NSString 进行转换

char *cStr = "i am  c string";

NSString *str=[[NSString alloc] initWithCString: cStr encoding: (编码方法通常是utf8)];

NSString *str2=@"hello";

char *cstr2 = [str2 UTF8String];

使用快捷方法进行字符串创建和初始化,stringWith开头方法

此种方法创建的字符串对象在非ARC环境下不需要释放

   NSString *name =@"tom";

   NSString *info=[NSString stringWithFormat:@"my name is %@",name];字符串的大小比较 compare方法

   NSString *str1 =@"tom";

   NSString *str2 = @"jack";

   [str1 compare:str2];

NString *str1 = @"tom";

NString *str2 = @"jack";

NSComparisonResult result = [str1 compare:str2];

if(result==NSOrderedAscending)

{

NSLog(@"str1<str2");

}else if(result==NSOrdereDescending)

{

NSLog(@"str1>str2");

}else       NSLog(@"str1==str2");

字符串是否相等[username isEqualToString:@"admin"]

字符串长度

[username length];

寻找子串rangeOfString返回类型NSRange 不存在时location 为NSNotFound

NSString *str = @"hello world";

NSRange range=[str rangeOfString:@"lloc"];可以查看NSRange的类型

子串的截取

字符串和文件以及文件路径,writeToFile,initWithContentsOfFele

NSString *str =@"i am a string";

BOOL result=[str writeToFile:@"/Users/administator/Desktop/1.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];

NSString *content=[[NSString alloc]initWithContentsOfFile:@"/Users/administator/Desktop/1.txt",encoding:NSUTF8StringEncoding error:nil];

NSMutableString 是 NSString 的子类

NSMUtableString *str=[NSMutableString stringWithCapacity:20];

[str appendString:@"123"]; str后面加上123字符串

[str insertString:@"age is " atIndex:0];插入

[str deleteCharactersInRange:NSMakeRange(4,2)];删除

[str replaceCharactersInRange:NSMakeRange(5,2) withString:@"22"];替换

[str setString:;@"22"]; 重置

//一.不变字符串

        //1.常量字符串,比较字符串
// NSString *str1 = @"hello world";
// NSString *str2 = @"hello world";
// if (str1==str2) {
// NSLog(@"equal");
// }
// else
// {
// NSLog(@"unequal");
// }
// NSLog(@"str1 address is %p",str1);
// NSLog(@"str2 address is %p",str2);
//使用init方法进行创建
// NSString *name = @"tom";
// NSString *info = [[NSString alloc] initWithFormat:@"my name is %@",name];
// NSLog(@"%@",info);
//2.使用快捷方法进行字符串的创建和初始化
// NSString *name = @"tom";
// NSString *info = [NSString stringWithFormat:@"my name is %@",name];
// NSLog(@"%@",info);
//3.大小写转换及前后缀
// NSLog(@"\"Hello world!\" to upper is %@",[@"Hello world!" uppercaseString]);
// NSLog(@"\"Hello world!\" to lowwer is %@",[@"Hello world!" lowercaseString]);
//前缀
// NSLog(@"has prefix ab? %i",[@"abcdef" hasPrefix:@"abd"]);
// //后缀
// NSLog(@"has suffix ab? %i",[@"abcdef" hasSuffix:@"ef"]);
//4.字符串的比较
// NSString *str1 = @"tom";
// NSString *str2 = @"eric";
// NSComparisonResult result= [str1 compare:str2];
// if (result==NSOrderedAscending) {
// NSLog(@"str1<str2");
// }
// else if (result ==NSOrderedDescending)
// {
// NSLog(@"str1>str2");
// }
// else
// {
// NSLog(@"str1==str2");
// } //5.char类型和NSString类型转换
// char *str= "test case";
// NSString *str3= [[NSString alloc] initWithCString:str encoding:NSUTF8StringEncoding];
// char *str4 = (char *)[str3 UTF8String];
// NSLog(@"%s",str4);
//6.字符串值的比较
// NSString *username = @"admin";
// NSString *password = @"123456";
// if ([username isEqualToString:@"admin"] && [password isEqualToString:@"123456"]) {
// NSLog(@"值相等");
// }
// else
// {
// NSLog(@"值不相等");
// }
// 7.字符串的长度
// NSString *str =@"alfred";
// if ([str length]>=6) {
// NSLog(@"the length is %lu",[str length]);
// }
// else
// {
// NSLog(@"ok");
// }
//8.字符串截取
// NSLog(@"%@",[@"abcdef" substringFromIndex:3]);//从第三个索引开始(包括第三个索引对应的字符)截取到最后一位
// //结果:def
// NSLog(@"%@",[@"abcdef" substringToIndex:3]);////从0开始截取到第三个索引(不包括第三个索引对应的字符)
// //结果:abc
// NSLog(@"%@",[@"abcdef" substringWithRange:NSMakeRange(2, 3)]); //9.数值转换
// NSString *value1 = @"10";
// NSString *value2 = @"3.6";
// float sum = [value1 intValue] +[value2 floatValue];
// NSLog(@"%0.2f",sum);
//10.文件相关
// NSString *str =@"i am a string abc";
// [str writeToFile:@"/Users/admin/Desktop/test2.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
// NSString * str2 = [[NSString alloc] initWithContentsOfFile:@"/Users/admin/Desktop/test2.txt" encoding:NSUTF8StringEncoding error:nil];
// NSLog(@"%@",str2);
//NSString *str3 = [NSString alloc]
// //二.可变字符串 //NSMutableString *str = [NSMutableString stringWithCapacity:20];
NSMutableString *str2 = [[NSMutableString alloc]init];
[str2 setString:@"test case"];
// [str appendString:@"12"];
// NSString *name = @"tom";
// [str appendFormat:@",name is %@",name];
// [str replaceCharactersInRange:NSMakeRange(4, 2) withString:@"22"];
// [str insertString:@"it is" atIndex:3];
[str2 deleteCharactersInRange:NSMakeRange(, )];
NSLog(@"str = %@",str2);

ie

  NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:@"tom"];
NSNumber *num = [NSNumber numberWithInt:]; //装箱
[array addObject:num];
[array addObject:[NSNumber numberWithFloat:3.5]];
NSNumber *numobj=[array objectAtIndex:];
NSLog(@"%d",[numobj intValue]); //拆箱 //NSValue
NSRange range;
range.location =;
range.length =;
NSValue *value=[NSValue valueWithRange:range];
NSLog(@"%@",value);
//NSNull
NSArray *arr = [NSArray arrayWithObjects:@"tom" ,[NSNull null],nil];
for (int i =; i<[arr count]; i++) {
if ([arr objectAtIndex:i]!=[NSNull null]) {
NSLog(@"%@",[arr objectAtIndex:i]);
}
else
{
NSLog(@"第%d个元素是空值",i);
}
}
//测试NSNull单例
NSNull *nl=[NSNull null];
NSNull *nl2=[NSNull null];
NSLog(@"%i",nl==nl2);//由于是单例所以地址相等,结果:1
NSArray *array1=[NSArray arrayWithObjects:@"abc",nl,@, nil];
NSLog(@"%@",array1);

Object-C-NSString的更多相关文章

  1. iOS-----程序异常处理----- 断言NSAssert()和NSParameterAssert区别和用处

    NSAssert和assert是断言,主要的差别是assert在断言失败的时候只是简单的终止程序,而NSAssert会报告出错误信息并且打印出来.所以尽管的使用NSAssert,可以不去使用asser ...

  2. 【原】iOS学习之PINCache第三方缓存框架

    在项目中总是需要缓存一些网络请求数据以减轻服务器压力,业内也有许多优秀的开源的解决方案.通常的缓存方案都是由内存缓存和磁盘缓存组成的,内存缓存速度快容量小,磁盘缓存容量大速度慢可持久化. 1.PINC ...

  3. iOS:使用模板引擎渲染HTML界面

    在实际开发中,UIWebView控件接受一个HTML内容,用于相应的界面,下面是该API的接口: - (void)loadHTMLString:(NSString *)string baseURL:( ...

  4. YYCache设计思路及源码学习

    设计思路 利用YYCache来进行操作,实质操作分为了内存缓存操作(YYMemoryCache)和硬盘缓存操作(YYDiskCache).内存缓存设计一般是在内存中开辟一个空间用以保存请求的数据(一般 ...

  5. OC基本数据存储方式

    /** 一,数据存储 常用方式(5种) 1,XML属性列表 -- 保存在Doucuments文件夹 2,偏好设置(NSUserDefault)-- Library/Preference 需要配合wri ...

  6. UIkit框架之uiUIapplication

    1.继承链:uiresponder:NSObject 2.使用 sharedApplication方法来存取对象 3.这个类可以遵守协议是UIApplicationDelegate 4.获取app的实 ...

  7. UIView---汇总

    视图.绘图.贴图.手势.变形.布局.动画.动力.特效 UIBezierPath.UIGestureRecognizer.CGAffineTransform.frame.bounds.center.tr ...

  8. iOS常用第三方框架大全

    常用第三方 今天就给大家总结一下,我们在项目中用到最多的第三方,免去了大家花时间去搜索,在这里大家进行了全面的总结. 1. 编程框架 1:基于响应式编程思想的oc 地址:https://github. ...

  9. iOS 10开发NSAssert(断言)的使用

    断言(NSAssert)的使用 字数1055 阅读3270 评论3 喜欢30 NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug ...

  10. 你真的了解UIApplication吗?

    一:首先查看一下关于UIApplication的定义 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIApplication : UIResponder //获得单例 ...

随机推荐

  1. virgo-tomcat-server最大并发连接数的修改

    首先,我们如果需要修改tomcat 7的最大连接数,我们可以去tomcat官方网站,查看Documentation 进入tomcat的官方网站http://tomcat.apache.org我们点击左 ...

  2. MatLab Swap Rows or Cols 交换行或列

    Matlab是矩阵运算的神器,所以可以很轻易的交换任意行或列,而且写法非常简洁,如下所示: a = [ ; ; ]; b = a; b(:,[;]) = b(:,[;]); % Swap col an ...

  3. 二步实现 远程连接 阿里云SqlServer 2012 数据库服务器

    前言:在使用 阿里云 上的一些产品时,遇到不少坑. 安装IIS 时,遇到 因买的配置过低,虚拟内存不足,而导致 IIS 总是安装失败: 现在 在上面安装了个 Sql Sever 2012,远程老是 不 ...

  4. TFS二次开发10——分组(Group)和成员(Member)

    TFS SDK 10 ——分组(Group)和成员(Member) 这篇来介绍怎样读取TFS服务器上的用户信息 首先TFS默认有如下分组(Group): SharePoint Web Applicat ...

  5. CentOS 6U7分区大于2TB的磁盘以及挂载大于16TB分区磁盘的解决方案

    一.内容介绍1.问题描述1).问题一 CentOS 6.x 在格式化大于16TB的ext4分区时,会提示如下错误: mke2fs 1.41.12 (17-May-2010)mkfs.ext4: Siz ...

  6. easyui---基础组件:panel

    加载easyui有两种方式:1种是html方式加载,1种是js加载. 要加载内容非常多时,用js,如果加载的东西比较少,用html就可以了. panel组件:面板 就是头 身展示 ,一个滚动条,几个关 ...

  7. POJ-1975 Median Weight Bead(Floyed)

    Median Weight Bead Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3162 Accepted: 1630 De ...

  8. Oracle字符串连接的方法

    Oracle数据库中,使用“||”进行字符串连接,下面就让我们一起了解一下Oracle数据库中字符串连接的方法,希望对您能有所帮助. 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串 ...

  9. Gym - 101532D Counting Test 前缀和统计字符串

    题意:给你一个1e4长的字符串S,有1e5个询问,每个询问形如 l r c ,其中l,r为左右边界,c为所询问的字符.注意,l,r,可以大于串S的长度,这种情况下认为S自身重复无数次(S+S+S··· ...

  10. iOS开发tableView去掉顶部上部空表区域

    tableview中的第一个cell 里上部 有空白区域,大概64像素 在viewDidLoad中加入如下代码 self.automaticallyAdjustsScrollViewInsets = ...