NSString字符串(黑马) - OC创建字符串的4种方法 NSString *s = @"这个是第一种"; //1.特殊用法 NSString *s1 = [NSString new]; s1 = @"这是第二种"; NSLog(@"%@",s1); //2.理论用法 for (int i = 0; i<10; i++) { NSString *imgName = [NSString stringWithFormat:@"xxxxx%02d.jpg",i]; NSLog(@"%@",imgName); //3.格式化创建字条串 } //4.用一个已经存在的字符串创建一个样的字符串 NSString *s2 = [[NSString alloc]initWithString:s1]; NSLog(@"s2 = %@",s2); NSString字符串长度计算(length方法)NSString *str = @"ican"; NSUInteger len = [str length]; NSLog(@"str length:%ld",len); //一定是%ld,打印4 NSString字符串:取出对应位置的字符unichar ch = [str characterAtIndex:0] //取出字符串str下标为0的对应字符,返回unichar类型值NSString字符串:比较字符串大小无条件 //compare 方法返回结果有3种:NSOrderedAscending(升序「-1」),NSOrderedSame「0」,NSOrderedDescending(降序「1」) NSString *str1 = @"abc"; NSString *str2 = @"bcd"; NSComparisonResult result = [str1 compare:str2]; printf("%ld",result); //打印结果为-1(升序)- 有条件(可以有多个条件)
/*compare 常用的3个条件: NSCaseInsensitiveSearch:不区分大小写字符 NSLiteralSearch:进行完全比较,区分大小写(默认) NSNumericSearch:比较字符串的字符个数,而不是字符值 */ NSString *str1 = @"abc"; NSString *str2 = @"Abc"; //可以添加多个比较条件 NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch]; printf("%ld",result); //打印结果为0NSString字符串:判断字符串是否相等[str1 isEqualToString:str2] //返回BOOL值NSString字符串前后缀检查前缀 NSString *url = @"https://ios,itcast.cn"; //检测一个字符串的前缀是否是http://或者https://开头 //[str hasPrefix:@"要检测的内容"]; if ([url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]) { printf("这是一个网址"); }else{ printf("这不是一个网址"); }后缀 NSString *imgName = @"xxxxx.jpg"; //检测一个字符串的后缀是否是.jpg //[str hasSuffix:@"要检测的内容"]; if ([url hasSuffix:@".jpg"]) { printf("这是一个jpg图片"); }else{ printf("这不是一个jpg图片"); }NSString字符串的查找查找某个字符串在另外一个字符串中首次出现的位置 NSString *str1= @"slkioslkgilkdiosflgkhldsiosfndslfdsn"; NSString *str2= @"ios"; //查找2在1中首次出现的位置 //range 结构体变量 NSRange 结构体别名 //如果查找不到location返回NSNotFound,length返回0 NSRange range = [str1 rangeOfString:str2]; NSLog(@"%lu,%lu",range.location,range.length);把结构体转换成NSString类型NSLog(@"%@",NSStringFromRange(r4)); //r4为结构体变量字符串的截取 -(NSString *)substringFromIndex:(NSUInteger)from; 从**指定位置**from开始(包括指定位置的字符)到尾部 -(NSString *)substringToIndex:(NSUInteger)to; 从字符串的开头一直截取到**指定的位置**to,但不包括该位置的字符 -(NSString *)substringWithRange:(NSRange)range; 按照所给出的NSRange从字符串中截取字符串 如:[str substringWithRange:NSMakeRange(4,10)];//不清楚就看NSRange的概念和使用NSString字符串的替换 -(NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *) replacement //用replacement替换target,返回替换后的字符串
NSString和其他类型的转换NSString *str = @"1"; int a = 19; //把字符串类型转换成其他类型 int b = [str intValue]; //intValue,floatValue,doubleValue sum = a+b;NSString去除首尾空格[str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];//返回去除后的字符串//其他参数:
屏幕快照 2015-09-04 22.13.54.png
OC字符串和C字符串的互相转换 char *s = "zhangsanfeng"; printf("%s\n",s); //用C语言创建一个OC的字符串 NSString *str = [NSString stringWithUTF8String:s]; //相反的用[str2 UTF8String] NSLog(@"str = %@",str);
|
|