NSString与NSMutableString的使用

来源:互联网 发布:拓扑学 知乎 编辑:程序博客网 时间:2024/04/29 13:39

1、创建NSString的三种方式

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {        unichar data[6] = {97 , 98 , 99 , 100 , 101, 102};        //① 使用Unicode数值数组初始化字符串        NSString* str = [[NSString alloc]                         initWithCharacters: data length:6];        NSLog(@"%@" , str);        char* cstr = "Hello, iOS!";        //② 将C风格的字符串转换为NSString对象        NSString* str2 = [NSString stringWithUTF8String:cstr];        NSLog(@"%@" , str2);        // 将字符串写入指定文件        [str2 writeToFile:@"myFile.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];        //③ 读取文件内容,用文件内容初始化字符串        NSString* str3 = [NSString stringWithContentsOfFile:@"NSStringTest.m" encoding:NSUTF8StringEncoding error:nil];        NSLog(@"%@" , str3);            }    return 0;}
2、NSString常用功能

#import <Foundation/Foundation.h>int main(int argc , char * argv[]){@autoreleasepool{NSString* str = @"Hello";NSString* book = @"《疯狂iOS讲义》";    //①:在str后面追加固定的字符串,原来字符串对象并不改变,只是将新生成的字符串重新赋给str指针变量str = [str stringByAppendingString:@",iOS!"];NSLog(@"%@" , str);//②:获取字符串对应的C风格字符串const char* cstr = [str UTF8String];NSLog(@"获取的C字符串:%s" , cstr);//③:在str后面追加带变量的字符串。原来字符串对象并不改变,只是将新生成的字符串重新赋给str指针变量str = [str stringByAppendingFormat:@"%@是一本非常不错的图书.", book];NSLog(@"%@" , str);NSLog(@"str的字符个数为:%lu" , [str length]);NSLog(@"str按UTF-8字符集解码后字节数为:%lu" , [str lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);//④:获取str的前10个字符组成的字符串NSString* s1 = [str substringToIndex:10];NSLog(@"%@" , s1);//⑤:获取str的从第5个字符开始,与后面字符组成的字符串NSString* s2 = [str substringFromIndex:5];NSLog(@"%@" , s2);//⑥:获取str从第5个字符开始,到第15个字符组成的字符串NSString* s3 = [str substringWithRange:NSMakeRange(5, 15)];NSLog(@"%@" , s3);//⑦:获取iOS在str中出现位置NSRange pos = [str rangeOfString:@"iOS"];NSLog(@"iOS在str中出现的开始位置:%ld, 长度为:%ld", pos.location , pos.length);//⑧将str的所有字符转为大写str = [str uppercaseString];NSLog(@"%@" , str);}}

3、NSMutableString

#import <Foundation/Foundation.h>int main(int argc , char * argv[]){@autoreleasepool{NSString* book = @"《疯狂iOS讲义》";//①:创建一个NSMutableString对象NSMutableString* str = [NSMutableString stringWithString:@"Hello"];//②:追加固定字符串,字符串所包含的字符序列本身发生了改变,因此无需重新赋值[str appendString:@",iOS!"];NSLog(@"%@" , str);//③:追加带变量的字符串,字符串所包含的字符序列本身发生了改变,因此无需重新赋值[str appendFormat:@"%@是一本非常不错的图书." , book];NSLog(@"%@" , str);//④:在指定位置插入字符串,字符串所包含的字符序列本身发生了改变,因此无需重新赋值[str insertString:@"fkit.org" atIndex:6];NSLog(@"%@" , str);//⑤:删除从位置6到位置12的所有字符[str deleteCharactersInRange:NSMakeRange(6, 12)];NSLog(@"%@" , str);//⑥:将从位置6到位置9的字符串替换成Objective-C[str replaceCharactersInRange:NSMakeRange(6, 9)withString:@"Objetive-C"];NSLog(@"%@" , str);}}


0 0