字符串(NSString、NSMutableString)是OC语言中很常用的一个类。NString和NSMutableString最主要的区别就是NSString一旦创建赋值后就不能对其内容进行修改(如长度、插入字符、删除字符),除非重新赋值;而NSMutableString在其创建赋值后可以对其进行删除、插入、修改长度、替换等操作。本篇文章只介绍NSMutableString的一些简单的用法(初学者)
1、可变字符串的初始化创建
1>动态创建字符串
NSMutableString* ms1=[[NSMutableString alloc]initWithFormat:@"mutablestring"];//实例方法
NSMutableString* ms2=[NSMutableString stringWithFormat:@"mutablestring"];//类方法
2>用C中的字符串创建
NSMutableString* ms1=[[NSMutableString alloc]initWithUTF8String:"cString"];//实例方法
NSMutableString* ms2=[NSMutableString stringWithUTF8String:"cString"];//类方法
3>用OC中字符串创建
NSMutableString* ms1=[[NSMutableString alloc]initWithString:@"ocString"];//实例方法
NSMutableString* ms2=[NSMutableString stringWithString:@"ocString"];//类方法
注意可变字符串不能用如下方式创建
NSMutableString * ms1=@"abc"; //会报错
2、可变字符串的插入操作
1> append会在字符串的尾部添加某个字符串
//创建一个可变字符串
NSMutableString *ms1=[[NSMutableString alloc] initWithFormat:@"love"];
[ms1 appendString:@" you"];//在字符串后加入@" you"
//[ms1 appendFormat:@"%@",@" you"]; 也能实现
NSLog(@"ms1的内容:%@", ms1);
打印结果:
2>insert 在制定下标处插入字符串
NSMutableString *ms1=[[NSMutableString alloc] initWithFormat:@"love"];
[ms1 insertString:@" you" atIndex:4];
NSLog(@"ms1的内容%@", ms1);
打印结果:
3、可变字符串的删除操作
删除delete某个范围的字符串
NSMutableString *ms1 =[[NSMutableString alloc]initWithString:@"1234567"];
NSLog(@"原来ms1[长度:%lu]内容:%@", [ms1 length], ms1);
NSRange range={3, 2};
[ms1 deleteCharactersInRange:range];
NSLog(@"删除后ms1[长度:%lu]内容:%@", [ms1 length], ms1);
打印结果:
4、可变字符串的替换操作
1>替换指定范围内字符串 replace
NSMutableString *ms1=[[NSMutableString alloc]initWithString:@"123abcd4567"];
NSLog(@"原来ms1的长度:%lu 内容:%@", ms1.length, ms1);
//replace 指定范围替换
[ms1 replaceCharactersInRange:NSMakeRange(3, 4) withString:@"fuck"];
NSLog(@"替换后ms1的长度:%lu 内容:%@", ms1.length, ms1);
打印结果:
2> setString可将字符串全部替换
NSMutableString *ms1=[[NSMutableString alloc]initWithString:@"123abcd4567"];
[ms1 setString:@"fuck"];
NSLog(@"替换后ms1:%@", ms1);
打印结果: