1、NSString和NSMutableString

NSString是不变字符串类,有点像java里面的String,NSMutableString是可变字符串类,有点类似java里面的StringBuffer

2、测试demo

int main(int argc, char * argv[]) {
@autoreleasepool {
unichar data[6] = {97, 98, 100, 101, 102, 103};
NSString *str = [[NSString alloc] initWithCharacters:data length:6];
NSLog(@"str is %@", str);
char *cstr = "chenyu";
NSString *str2 = [NSString stringWithUTF8String:cstr];
NSLog(@"str2 is %@", str2);

NSString *str3 = @"chenyu";
NSString *name = @"陈喻";
str3 = [str3 stringByAppendingString:@"chenyu"];
NSLog(@"str3 is %@", str3);
const char *cstr1 = [str3 UTF8String];
NSLog(@"cstr1 is %s", cstr1);
str3 = [str3 stringByAppendingFormat:@"hello %@ hello", name];
NSLog(@"str3 is %@", str3);
NSLog(@"str3 length is %lu", [str3 length]);
NSString *s1 = [str3 substringToIndex:10];
NSLog(@"s1 is %@", s1);
NSString *s2 = [str3 substringFromIndex:5];
NSLog(@"s2 is %@", s2);
NSString *s3 = [str3 substringWithRange:NSMakeRange(5,10)];
NSLog(@"s3 is %@", s3);
NSRange pos = [str3 rangeOfString:@"陈喻"];
NSLog(@"陈喻在str3中开始的位置:%ld,长度为%ld", pos.location, pos.length);
str3 = [str3 uppercaseString];
NSLog(@"str3 is %@", str3);
NSMutableString *tstr = [NSMutableString stringWithString:@"hello"];
[tstr appendString:@"chenyu"];
NSLog(@"tstr is %@", tstr);
[tstr appendFormat:@"hello word %@", @"chengongyu"];
NSLog(@"tstr is %@", tstr);
[tstr insertString:@"hello" atIndex:6];
NSLog(@"tstr is %@", tstr);
[tstr deleteCharactersInRange:NSMakeRange(6, 9)];
NSLog(@"tstr is %@", tstr);
[tstr replaceCharactersInRange:NSMakeRange(3, 6) withString:@"objectobject"];
NSLog(@"tstr is %@", tstr);
}
}


3、运行结果

str is abdefg
str2 is chenyu
str3 is chenyuchenyu
cstr1 is chenyuchenyu
str3 is chenyuchenyuhello 陈喻 hello
str3 length is 26
s1 is chenyuchen
s2 is uchenyuhello 陈喻 hello
s3 is uchenyuhel
陈喻在str3中开始的位置:18,长度为2
str3 is CHENYUCHENYUHELLO 陈喻 HELLO
tstr is hellochenyu
tstr is hellochenyuhello word chengongyu
tstr is hellochellohenyuhello word chengongyu
tstr is hellocuhello word chengongyu
tstr is helobjectobjectllo word chengongyu