美文网首页
OC NSString - NSMutableString Ge

OC NSString - NSMutableString Ge

作者: 韩梅梅梅梅 | 来源:发表于2016-07-19 10:39 被阅读17次

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

相关文章

网友评论

      本文标题:OC NSString - NSMutableString Ge

      本文链接:https://www.haomeiwen.com/subject/wqymjttx.html