OC NSString - NSMutableString GeekBand

NSString

NSString 拥有恒定性,所有操作无法更改字符串本身,只能通过返回新值的形式更改。

NSString 拥有共享机制,ARC对其有特殊的管理规则

1.创建字符串

NSString *str1 = @"str1";  //1、创建常量字符串

NSString *str2 = [NSString stringWithFormat:@"str2 is %@",str1];  //2、创建格式化字符串

NSString *str3 = [[NSString alloc]init];   //3、创建空字符串,给予赋值。

str3 = @"str3";

NSString *str4 = [[NSString alloc]initWithCString:"Hello World!" encoding:NSUTF8StringEncoding];

NSString *str5 = [NSString stringWithCString:"Hello World!" encoding:NSUTF8StringEncoding];

2.访问字符串

char c = [str characterAtIndex:0]  //根据索引获得单个字符

NSUInteger length  = [str length]  //获取字符串长度

uppercaseString  //大写

lowercaseString  //小写

capitalizedString  //首字母大写

3.查询字符串

//是否包含子串

NSRange range = [str rangeOfString:@"str"]; //如果不包含子串的话,range.length 为0

//获取子串

substringToIndex //截取字符串起始点到index之间的字符

substringFromIndex //截取字符串从Index到结尾之间的字符

NSRange rang = NSMakeRange(Loc,Length);  //设置截取范围,从loc开始,长度为Length

subStringWithRange //根据范围来截取字符串

compnentsSeparatedByString  //按照指定字符分割字符串,返回数组

4.比较字符串

isEqualToString 比较的是值是否相等, “==”比较的是指针是否相等

hasPrefix   //字符串是否以...开头

hasSuffix   //字符串是否以...结尾

compare方法(comparer返回的三种值)

   1)NSOrderedSame 判断两者内容是否相同

   2)NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,[str1 compare:str2] str2大于str1为真)

   3 ) NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,[str1 compare:str2] str2小于str1为真)

   4)[str1 compare:str2 options:NSCaseInsensitiveSearch | NSNumericSearch]

      //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写

      //NSNumericSearch:比较字符串的字符个数,而不是字符值。

caseInsensitiveCompare 不考虑大小写比较

5.替换字符串 (伪更改,返回新字符串)

str = [str stringByAppendingString :@"str"];

str = [str0 stringByReplacingCharactersInRange:rang withString:@"str"]//根据范围替换文字

stringByReplacingOccurrencesOfString:@"123" withString@"abc"   //把字符串中的123替换成abc

NSMutableString

NSMutableString具有可变性

NSMutableString是NSString的子类

NSMutableString不具有共享机制

NSMutabelString并不是在原有内存上直接增长,而是重新分配一个更大或更小的缓存容量存放字符

NSMutabelString stringWithCapacity: 100   //初始化分配容量

字符串初始化后,会分配一个缓存容量capacity,当字符串增长时,其容量会以两倍的方式增长,伴随的代价是

    1)分配新的堆内存

    2)将原来的堆内存上的内容拷贝到新内存

    3)释放原来的堆内存

NSMutabelString的常用操作

1.添加字符串

appendString

appendFormat

2.删除字符串

[str deleteCharacterInRange:[str rangeOfString:@"aaa"]]   //查找出aaa所在的range,然后删除这个range

3.修改字符串

setString

insertString@"aaa" atIndex:0   //在Index位置插入字符

[mustr3 replaceCharactersInRange:replaceRange withString:@"Hello"];  //替换range范围的字符

1,字符串拼接

NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

2,字符转int

int intString = [newString intValue];

3,int转字符

NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

4,字符转float

float floatString = [newString floatValue];

5,float转字符

NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];


参考资料

http://blog.csdn.net/xys289187120/article/details/6777283

http://www.cnblogs.com/superhappy/archive/2012/11/19/2778084.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容