NSString类简析

来源:互联网 发布:银光软件地址 编辑:程序博客网 时间:2024/06/08 05:40

全是个人浅见,如有不当,欢迎指出 。以下所说,为常用方法。可能有些方法没有涉及到,只是个人的一个学习总结。

1.创建NSString大体分三类方法

a.直接赋值

//@""类似于C语言中的“”,是一种运算符号,它首先在只读数据段开辟一块内存,存放字符串@“IOS”,然后返回其地址。NSString * aString1 = @"IOS";

b.实例方法创建

NSString * aString1 = [[NSString alloc] initWithString:@"IOS"];//用C字符串初始化const char * cString = "IOS";NSString * aString2 = [[NSString alloc] initWithCString:cString encoding:NSUTF8StringEncoding];NSString * aString3 = [[NSString alloc] initWithUTF8String:cString];//创建格式化字符串NSString * aString4 = [[NSString alloc] initWithFormat:@"Age = %d",24];
c.类方法创建

NSString * aString5 = [NSString stringWithString:@"IOS"];NSString * aString6 = [NSString stringWithUTF8String:"IOS"];NSString * aString7 = [NSString stringWithFormat:@"Age = %d",24];
2.字符串比较

NSString * str1 = @"String";NSString * str2 = @"string";
a.isEqualToString:方法(相同返回1,否则0)
BOOL result = [str1 isEqualToString:str2];
b.compare方法

//返回结果enum _NSComparisonResult {        NSOrderedAscending = -1,        NSOrderedSame,        NSOrderedDescending       };
//区分大小写result = [str1 compare:str2];//不区分大小写result = [str1 caseInsensitiveCompare:str2];
3.改变字符串大小写
- (NSString *)uppercaseString;//转大写- (NSString *)lowercaseString;//转小写- (NSString *)capitalizedString;//单词除首字母大写,其余小写
4.字符串搜索,类似C中的strstr()函数
NSString * str1 = @"I love IOS very much";NSString * str2 = @"IOS";NSRange range = [str1 rangeOfString:str2];NSUInteger location = range.location;NSUInteger length = range.length;//location = 7;//length = 3;
5.字符串截取
NSString * str1 = @"abcdefg";//a.从头到指定位置,但不包括该位置的值 NSString * str2 = [str1 substringToIndex:3];//b.从该位置开始,直到结束,包括该位置NSString * str3 = [str1 substringFromIndex:3];//c.截取指定范围的字符串,从location位置的值开始(包括该位置)NSString * str4 = [str1 substringWithRange:NSMakeRange(3, 2)];
//结果//str2 = @"abc";//str3 = @"defg";//str4 = @"de";
6.前缀、后缀判断
//用过一次是用在电话号码判断上面- (BOOL)hasPrefix:(NSString *)aString;- (BOOL)hasSuffix:(NSString *)aString;

以下为NSMutableString所特有的方法

1.预设大小

//当字符串大小超过预设大小时,自动扩充NSMutableString * str = nil;str = [NSMutableString stringWithCapacity:10];str = @"abcdefgabcdefg";
2.增加字符串
NSMutableString * str = [[NSMutableString alloc] init];[str appendString:@"I "];[str appendFormat:@"am %d years old",22];
3.插入字符串

//不可以这样初始化NSMutbaleString//NSMutableString * str = @"boy!";//因为@“boy!”返回的是NSString *类型的指针NSMutableString * str = [[NSMutableString alloc] initWithString:@"boy!"];[str insertString:@"Hi," atIndex:0];
4.删除字符串
//删除指定范围的字符,包括location的值NSMutableString * str = [NSMutableString stringWithString:@"Hi,girls!"];[str deleteCharactersInRange:NSMakeRange(2, 7)];
5.字符串重置

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];[str setString:@"That"];
6.替换指定范围的字符串

NSMutableString * str = [[NSMutableString alloc] initWithString:@"This"];[str replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
0 0
原创粉丝点击