不可变字符串NSString
/*字符串的常用方法*/
//1.通常用来把一些基本数据类型和字符串进行拼接
int a = 9527; float b = 9527.0; NSString *string = [NSString stringWithFormat:@"%d%.1f",a,b]; NSLog(@"%@",string);//95279527.0
//2.字符串的长度(空格也会计算在内)
NSString *string = @"今晚打老虎"; //NSLog(@"%lu",[string length]); NSLog(@"%lu",string.length);//5
NSString *string = @"今 晚 打 老 虎"; NSLog(@"%lu",string.length);//9
//3.取子串
//3.1取后面 从index(index是下标的意思)开始取到最后(包含index)
NSString *string = @"今晚打老虎"; NSString *string2 = [string substringFromIndex:2];//“今”下标为0,“打”下标为2,从下标为2的“打”开始取到最后面,即sting2 = @“打老虎” NSLog(@"%@",string2);//打老虎
//3.2取前面 从 index为0开始取,到index止(不包含index)
NSString *string = @"今晚打老虎"; NSString *string2 = [string substringToIndex:2];//从下标为0的“今”开始取,到下标为2的“打”的前一个(“晚”)止,即sting2 = @“今晚” NSLog(@"%@",string2);//今晚
//3.3取中间 从哪个位置开始取,取多长
//创建一个NSRange
NSString *string = @"今晚打老虎"; NSRange rang = NSMakeRange(2, 2);//从下标为2开始取,取两个(rang为结构体不需加*) NSString *string2 = [string substringWithRange:rang]; NSLog(@"%@",string2);//打老
//4.判断一个字符串是不是以...开头或者以...结尾
NSString *string = @"今晚打老虎"; //判断是不是以“今”开头 if ([string hasPrefix:@"今"]) { NSLog(@"是");//是 }else{ NSLog(@"不是"); } //判断是不是以“老”结尾 if ([string hasSuffix:@"老"]) { NSLog(@"是"); }else{ NSLog(@"不是");//不是 }
//5.字符串的拼接
NSString *string = @"赵日天"; NSString *string2 = @"今晚打老虎"; NSString *string3 = [string stringByAppendingString:string2]; NSLog(@"%@",string3);//赵日天今晚打老虎
//6.判断两个字符串是否相等
NSString *string = @"赵日天"; NSString *string2 = @"叶良辰"; if ([string isEqualToString:string2]) { NSLog(@"相等"); }else{ NSLog(@"不相等");//不相等 }
//7.字符串的替换
NSString *string = @"我赵日天不服"; NSString *string2 = [string stringByReplacingOccurrencesOfString:@"不服" withString:@"服了"];//把“不服”替换成"服了" NSLog(@"%@",string2);//我赵日天服了
//8.判断一个字符串中是否包含...
NSString *string = @"我赵日天不服"; NSRange range = [string rangeOfString:@"日"]; if (range.length > 0) { NSLog(@"包含");//包含 }else{ NSLog(@"不包含"); }
//9.字符串的分割
NSString *string = @"MDZZ"; NSArray *array = [string componentsSeparatedByString:@"D"]; NSLog(@"%@",array);//(M,ZZ) NSLog(@"%@",array[0]);//M NSLog(@"%@",array[1]);//ZZ
//总结:
//NSString是不可变字符串,方法都有返回值,返回值往往是字符串,也就是新生成的字符串 /* 字符串常用方法 求长度 length 判断开头结尾 hasPrefix hasSuffix 拼接 stringByAppendingString 取子串 substring... 判断是否相等 isEqualToString 截取 分割 componentsSeparatedByString 替换 stringByReplacingOccurrencesOfString 判断是否包含 rangeOfString */