oc中字符串分为可变和不可变字符串:
一、不可变字符串NSString
1、创建
//最简单的方式创建
NSString *str1 = @"我是OC字符串";
//用一个字符串创建另一个字符串
NSString *str2 = [[NSString alloc] initWithString:str1];
//格式化的创建字符串
NSString *str3 = [[NSString alloc] initWithFormat:@"%d %d %.2f",12,34,5.67];
//用C字符串创建
NSString *str4 = [[NSString alloc] initWithUTF8String:"我是C创建OC字符串"];
//每一个initWith都对应一个stringWith的类方法
NSString *str5 = [NSString stringWithString:str2];
NSString *str6 = [NSString stringWithFormat:@"%d,%.2f",250,3.14];
NSString *str7 = [NSString stringWithUTF8String:"abcdefg"];
2、长度
NSUInteger len = [str length];
3、获取单个字符
unichar ch = [str characterAtIndex:8];
NSLog(@"ch = %C", ch);
4、比较
1、比较是否相等
BOOL ret = [str1 isEqualToString:str2];
2、比较字符串大小
NSComparisonResult ret2 = [str1 compare:str2];
NSOrderedAscending 右边大
NSOrderedSame 一样大
NSOrderedDescending 左边大
3、不区分大小写的比较
ret2 = [str3 caseInsensitiveCompare:str4];
5、查找子串范围(首次出现的位置)
NSRange range = [str rangeOfString:@"蓝翔"];
6、子串提取
NSString *subStr1 = [str2 substringToIndex:3];
NSString *subStr2 = [str2 substringFromIndex:5];
NSRange ran = {3, 3};
NSString *subStr3 = [str2 substringWithRange:ran];
NSString *subStr3 = [str2 substringWithRange:
NSMakeRange(3, 3)];
编外方法:
1、字符串转数据(类似于atoi,atof)
int intV = [str3 intValue];
float floatV = [str3 floatValue];
2、OC字符串转C字符串
const char *p = [@"abc" UTF8String];
二、可变字符串NSMutableString
【特有方法】
1、设置(set)
[mStr setString:@"abcd"];
2、追加 (append)
//追加一个字符串
[mStr appendString:@"123"];
//格式化的追加
[mStr appendFormat:@"%d%c",250,'A'];
3、插入 (insert)
//在指定位置插入字符串
[mStr insertString:@"hello" atIndex:2];
4、删除(delete)
//删除指定范围内的字符
[mStr deleteCharactersInRange:NSMakeRange(2, 5)];
5、修改(replace)
//用字符串替换某个范围内的字符
[mStr replaceCharactersInRange:NSMakeRange(2, 5)
withString:@"hello"];