创建
- NSMutableString首先是NSString的子类,因此可以用NSString的方法创建
NSInteger number = 20;
NSMutableString *string = [NSMutableString stringWithFormat: @"Hello World %zd", number];
- NSMutableString是长度可变的,可以一开始指定一个长度,这只是一个建议的值,会随着拼接的字符串动态的增加
NSMutableString *string = [NSMutableString stringWithCapacity: 15];
[string appendString:@"Steve Craig"];
NSLog(@"长度是%lu", [string length]);
[string appendFormat:@"Tim %@",@"Jowiak"];
NSLog(@"长度是%lu", [string length]);
- 运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409120015132.png)
增加
NSMutableString *string = [NSMutableString stringWithCapacity: 15];
[string appendString:@"Steve Craig"];
[string appendFormat:@" Tim %@",@"Jowiak"];
查找子串位置
- 经过上面增加的两个字符串,现在的string为
Steve Craig Tim Jowiak
- 方法是
- (NSRange) rangeOfString:(NSString *) inputString;
,NSRange的是一个由location、length组成的结构体,表示范围开始的index和长度
NSMutableString *string = [NSMutableString stringWithCapacity: 15];
[string appendString:@"Steve Craig"];
[string appendFormat:@" Tim %@",@"Jowiak"];
NSRange range = [string rangeOfString:@"Tim"];
NSLog(@"开始于%lu, 长度为%lu", range.location, range.length);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409121014503.png)
删除
(void) deleteCharactersInRange: (NSRange)deleteRange;
- 这里把Tim删除,先查出他的range,再去删
NSMutableString *string = [NSMutableString stringWithCapacity: 15];
[string appendString:@"Steve Craig"];
[string appendFormat:@" Tim %@",@"Jowiak"];
NSRange range = [string rangeOfString:@"Tim"];
range.length++;
[string deleteCharactersInRange: range];
NSLog(@"%@", string);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409121150155.png)