可变字符串NSMutableString(ios)

NSMutableString的使用

NSString类是不可变的类,一旦别创建,字符串序列是不可变的,知道这个对象被销毁,所以出现了NSMutableString,NSMutableString是NSString的子类;

NSMutableString对象则代表一个字符串序列可变的字符串

1.字符串尾部添加

使用alloc在内存中创建字符串对象后边可以动态的操作这个字符串,修改与添加等。

appendstring 方法:向字符串尾部添加一个字符串。

appendFormat方法:向字符串尾部添加多个类型的字符串,可以添加任意数量与类型的字符串。

- (void)viewDidLoad
{
    [super viewDidLoad];  

    NSMutableString * str = [[NSMutableString alloc] init];  

    //添加普通的字符串
    [str appendString:@"aaa"];  

    //添加字符串 整型 ( 多个类型的字符串)
    [str appendFormat:@"我的名字:%@ 我的年龄:%d ",@"crp", 22];  

    NSLog(@"str = %@",str);  

}

2.字符串中删除元素

stringWithString 方法:用于创建字符串初始化赋值

rangeOfString方法:传入字符串返回一个在该字符串中的范围 也可以写 NSMakeRange(0, 3) 意思是范围在字符串0位到第3

deleteCharactersInRange:删除字符串 参数为Range 就是删除的范围。

- (void)viewDidLoad
{
    [super viewDidLoad];  

    //创建字符串
    NSMutableString *str = [NSMutableString stringWithString:@"我喜欢IOS"];  

    //删除字符串中含"雨松"的字符
    [str deleteCharactersInRange: [str rangeOfString: @"IOS"]];      

    NSLog(@"str = %@",str);  

}

3.字符串插入

stringWithString 方法:用于创建字符串初始化赋值

insertString方法:第一个参数 插入的字符串对象, 第二个参数 插入的位置。

- (void)viewDidLoad
{
    [super viewDidLoad];  

    //创建字符串
    NSMutableString *str = [NSMutableString stringWithString:@"Hello,IOS"];  

    //在str第10位插入字符串
    [str insertString:@"World" atIndex:7];  

    NSLog(@"str = %@",str);  

}

4.字符串拷贝

- (void)viewDidLoad
{
    [super viewDidLoad];  

    //创建字符串
    NSMutableString *str1 = [NSMutableString stringWithString: @"字符串1"];
    NSMutableString *str2;  

    //字符串赋值
    str2 = str1;  

    [str2 appendString: @" 和字符串2"];  

    NSLog (@"str1 = %@", str1);  

    NSLog (@"str2 = %@", str2);
}

为什么给str2添加数据后 str1的数据也改变了?这就是指针的魅力所在,因为我们操作的是指针,str2 = str1  意思是两个指针同时指向一块内存,那么str2指向的内存内容改变以后str1跟着改变了。

时间: 2024-11-06 23:56:43

可变字符串NSMutableString(ios)的相关文章

可变字符串NSMutableString

NSMutableString *mutableStr = [[NSMutableString alloc] initWithFormat:@"蓝鸥科技有限公司"]; NSMutableString *mutableStr1 = [NSMutableString stringWithFormat:@"蓝鸥科技有限公司"]; //拼接字符串 [mutableStr appendString:@".txt"]; NSLog(@"%@&quo

不可变字符串 NSString与可变字符串 NSMutableString

不可变字符串 //创建一个字符串对象 NSString *string = [[NSString alloc] initWithFormat:@"zhong huang -"]; NSString *string1 = [[NSString alloc] initWithFormat:@"zhonger's  age is %d", 33]; NSString *string2 = [[NSString alloc] initWithFormat:@"zh

OC:可变字符串NSMutableString 的一些用法

NSString 是不可变字符串,所以方法调用时并不是对原字符串进行修改,而是先建立一个原字符串的副本,然后对副本内容进行修改. NSMutableString是NSString的子类,可以使用它的所有方法. 1.NSMutableString提供了附加字符串的方法. 可以使用appendString或appendFormat来对可变字符串操作: - (void) appendString: (NSString *) string; - (void) appendFormat: (NSStrin

Snail—OC学习之可变字符串NSMutableString

NSMutableString 继承于NSString 所以NSSting的所有方法NSMutableString都继承 并且也可以用 下面有两个方法NSString没有的 <span style="font-size:14px;">//长度为0 同样表示空的字符串 NSMutableString * str3 = [[NSMutableString alloc] initWithCapacity:0];</span> <span style="

NSString NSArray和可变字符串、数组的用法

// 使用实例方法创建NSString对象 NSString *string1 = [[NSStringalloc]initWithFormat:@"姓名流年"]; NSLog(@"%@", string1); NSString *string2 = [[NSStringalloc]initWithFormat:@"Ming"]; NSLog(@"%@", string2); NSString *string3 = [[NSS

ios除去可变字符串中的某些字符

//除去字符串中的"[email protected]" NSMutableString *str = [[NSMutableString alloc]initWithFormat:@"[email protected]@lgkokge"]; while ([str rangeOfString:@"[email protected]"].length>0) { [str deleteCharactersInRange:[str rangeO

NSMutableString,可变字符串,拼接,删除,插入,替换

<span style="font-size:18px;"> NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法, 都是在原字符串基础上进行修改, 所以修改之后的原字符串的内容发生变化, 所以无需返回值 //1 在原字符串基础上拼接Frank [str appendFormat:@"Frank"]; NSLog

iOS不可变字符串的所有操作

可以直接复制代码即可运行看看结果,方便理解 //NSString //OC字符串不能用printf输出 //但是遗憾的是OC没有一个从终端读取数据的方式,需要使用scanf读取C字符串然后转换成OC的字符串 #pragma mark 字符初始化 //创建一个不可变字符串str1 值是常量字符串 //打印字符串用%@来打印 //%@还可以打印对象 NSString * str1 = @"常量字符串"; NSLog(@"%@",str1); //用字符串创建字符串 NS

可变字符串 插入 删除 重赋值 替换 前后缀 长度

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //nsstring父类   NSMutableString可变字符串子类 NSMutableString *mustr=[[NSMutableString alloc]init]; NSMutableString *mustr1=[NSMutableString stringWithFormat:@&qu