珠海网站建设创意,百度推广关键词多少合适,用jsp做网站一般会用到什么软件,汽车之家汽车网Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString #xff0c;这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改#xff0c;除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度… Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString 这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。1.创建经典的NSString字符串NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。 字符串 这个符号为objective-c NSString 字符串常量的标准用法char* 创建的时候 无需添加- (void)viewDidLoad { [super viewDidLoad]; //经典的字符串赋值 NSString *str0 我是雨松MOMO; //字符串格式化合并分别包括 //NSString*类型 int类型 char*类型 NSString *str1 [NSString stringWithFormat:我的名字% 我的年龄%d 我的邮箱%s,雨松MOMO, 25,xuanyusonggmail.com]; //字符串赋值 参数中只可以写一个字符串 和第一种很像 NSString *str2 [NSString stringWithString:我是字符串]; //字符串转换为utf-8格式 参数为char*类型 NSString *str3 [NSString stringWithUTF8String:字符串转换utf-8格式]; //字符串合并 int i 100; char*c xuanyusong; NSString *temp 我是临时字符串; //在字符串temp的基础继续添加 int i 与 char* c 组成一个新的字符串 NSString *str4 [temp stringByAppendingFormat:整型 %d 字符型 %s,i,c]; //在字符串temp的基础继续添加temp 并组成一个新的字符串 NSString *str5 [temp stringByAppendingString:temp]; //字符串输出 NSLog(str0 %, str0); NSLog(str1 %, str1); NSLog(str2 %, str2); NSLog(str3 %, str3); NSLog(str4 %, str4); NSLog(str5 %, str5); } 2.字符串的遍历每一个字符串其实是由若干个char字符组成字符串的遍历实际上就是将字符串中的每一个字符提取出来。- (void)viewDidLoad { [super viewDidLoad]; //经典的字符串赋值 NSString *str YUSONGMOMO; //字符串的长度 int count [str length]; NSLog(字符串的长度是%d,count); //遍历字符串中的每一个字符 for(int i 0; i count; i) { char c [str characterAtIndex:i]; NSLog(字符串第 %d 位为 %c,i,c); } } 复制代码3.字符串的比较isEqualToString 比较字符串是否完全相等大小写不一样也无法完全匹配。hasPrefixe 匹配字符串头haSuffix 匹配字符串的尾巴- (void)viewDidLoad { [super viewDidLoad]; NSString *str0 雨松MOMO; NSString *str1 雨松MOMO; //字符串完全相等比较 if([str0 isEqualToString:str1]) { NSLog(字符串完全相等); } //字符串以开头比较 if([str0 hasPrefix:雨松]) { NSLog(字符串str0以雨松开头); } //字符串以结尾比较 if([str1 hasSuffix:MOMO]) { NSLog(str1字符串以MOMO结尾); } } 复制代码4.字符串的截取与大小写改变- (void)viewDidLoad { [super viewDidLoad]; NSString *str0 中文my name is xuanyusong; //截取字符串起始点到index为4之间的内容 NSString * to [str0 substringToIndex:4]; NSLog(to %,to); //截取字符index为2 到结尾之间的内容 NSString * from [str0 substringFromIndex:2]; NSLog(from %,from); //设置截取字符串的范围 //从第二位到第十位 NSRange rang NSMakeRange(2, 10); NSString * strRang [str0 substringWithRange:rang]; NSLog(rang %,strRang); //设置字符串首字母大写 NSLog(str0首字母大写:%,[str0 capitalizedString]); //设置字符串全部内容为大写 NSLog(str0大写:%,[str0 uppercaseString]); //设置字符全部内容为小写 NSLog(str0小写:%,[str0 lowercaseString]); } 复制代码 5.搜索字符串与替换字符串- (void)viewDidLoad { [super viewDidLoad]; NSString *str0 中文my name is xuanyusong; NSString *temp is; NSRange rang [str0 rangeOfString:temp]; NSLog(搜索的字符串在str0中起始点的index 为 %d, rang.location); NSLog(搜索的字符串在str0中结束点的index 为 %d, rang.location rang.length); //将搜索中的字符串替换成为一个新的字符串 NSString *str [str0 stringByReplacingCharactersInRange:rang withString:哇咔咔卡卡咔]; NSLog(替换后字符串为%, str); //将字符串中 全部替换成 * str [str0 stringByReplacingOccurrencesOfString : withString:]; NSLog(替换后字符串为%, str); } 复制代码拓展使用下面这个方法整体替换字符串还可以设置替换的区域。 ons:#(NSStringCompareOptions)# range:#(NSRange)#stringByReplacingOccurrencesOfString: (NSString *)withString: (NSString *) options: (NSStringCompareOptions) range: (NSRange) 这一篇主要介绍NSString 类的使用 下面篇详细介绍NSMutableString类 NSMutableString 类 继承NSString类那么NSString 提供的方法在NSMutableString中基本都可以使用NSMutableString好比一个字符串链表它可以任意的动态在字符串中添加字符串 删除字符串 指定位置插入字符串使用它来操作字符串会更加灵活。1.字符串尾部添加使用alloc在内存中创建字符串对象后边可以动态的操作这个字符串修改与添加等。appendstring 方法向字符串尾部添加一个字符串。appendFormat方法向字符串尾部添加多个类型的字符串可以添加任意数量与类型的字符串。字符串中删除元素stringWithString 方法用于创建字符串初始化赋值rangeOfString方法传入字符串返回一个在该字符串中的范围 也可以写 NSMakeRange(0, 3) 意思是范围在字符串0位到第3位deleteCharactersInRange:删除字符串 参数为Range 就是删除的范围。 字符串插入stringWithString 方法用于创建字符串初始化赋值insertString方法第一个参数 插入的字符串对象 第二个参数 插入的位置。 字符串拷贝字符串与指定类型转换- (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当然跟着改变了。 转载于:https://www.cnblogs.com/csj007523/archive/2012/06/25/2562078.html