字符串创建
//常量字符串,存储在常量区(@"dsds"相同,则str,str6是同一个,地址相同) NSString *str = @"dsds"; NSString *str6 = @"dsds"; //使用类方法创建字符串 NSString * string = [NSString string]; string = @"小白";//字符串赋值 //创建一个字符串,并且将内容设置为string NSString * string1 = [NSString stringWithString:string]; //格式化创建字符串(按照格式输出) NSString * string2 = [NSString stringWithFormat:@"%@",string1]; NSString * string0 = [NSString stringWithFormat:@"hello %d %c",5,'A']; //实例方法初始化(比下面两种常用) NSString *string3 = [[NSString alloc]init]; //实例方法指定字符串 NSString *string4 = [[NSString alloc]initWithString:string3]; //实例方法创建字符串 NSString *string5 = [[NSString alloc]initWithFormat:@"%@",string4 ];
字符串获取
NSString *string6 = [NSString stringWithFormat:@"helloiphone"]; //获取字符串长度(有效字符长度,不包括'\0') NSInteger len = [string6 length]; //字符串截取 //1.从哪个索引开始截取到字符串末尾(包含索引位置) NSString *str0 = [string6 substringFromIndex:4]; //2.从字符串开头截取到哪个索引(不包含索引位置) NSString *str1 = [string6 substringToIndex:8]; //3.截取一定范围(从下标3开始截取7个字符) NSRange range = {3,7}; NSString *str2 = [string6 substringWithRange:range]; /* typedef struct _NSRange { NSUInteger location; //起始位置 NSUInteger length; //表示长度 } NSRange; */ //获取某字符串所在区间 NSString *string9 = @"ll"; NSRange rang1 = [string6 rangeOfString:string9]; NSRange rang2 = [string6 rangeOfString:@"pho"]; NSLog(@"************所在范围%@",NSStringFromRange(rang1)); if (rang2.location == NSNotFound) { NSLog(@"没有这个子串"); }else{ NSLog(@"--------所在范围%@",NSStringFromRange(rang2)); } if (rang1.length == 0) { NSLog(@"没有这个子串"); }
字符串比较
NSString *string7 = @"ahanweilong"; NSString *string8 = @"shanweilong"; //比较地址 if (string7 == string8) { } //比较内容 if ([string7 isEqualToString:string8]) { NSLog(@"一样的~~"); }else{ NSLog(@"不一样~~"); } if ([string7 compare:string8] == NSOrderedSame) { NSLog(@"相等"); } else if ([string7 compare:string8] == NSOrderedAscending) { NSLog(@"升序"); } else if ([string7 compare:string8] == NSOrderedDescending) { NSLog(@"降序"); } //NSCaseInsensitiveSearch 忽略大小写(@“123”,@“0123”字符串比较) //NSNumericSearch 用于数值类型的比较(@“123”,@“0123”转化成数值比较) NSComparisonResult result = [string7 compare:string8 options:NSCaseInsensitiveSearch]; if (result == NSOrderedSame) { NSLog(@"相等"); }else if (result == NSOrderedAscending){ NSLog(@"升序"); }else if (result == NSOrderedDescending){ NSLog(@"降序"); } }
NString转NSURL时,如果string是路径
NSURL *url = [[NSURL alloc] initFileURLWithPath:filePath];