NSString常用方法和属性
1 2 //compare 比较字符串升序、相同还是降序,比较原理:首先比较第一个字符(ASCII码比较),如果是升序就为升序,如果相同比较下一个字符。。。 3 NSString *str1 = @"abcd"; 4 NSString *str2 = @"ABCD"; 5 NSComparisonResult result = [str1 compare:str2]; 6 // caseInsensitiveCompare 忽略大小写比较 7 // NSComparisonResult result2 = [s7 caseInsensitiveCompare:s8]; 8 if (result == NSOrderedAscending) { 9 NSLog(@"升序"); 10 } else if(result == NSOrderedSame) { 11 NSLog(@"相同"); 12 } else if(result == NSOrderedDescending) { 13 NSLog(@"降序"); 14 } 15 16 //length 计算字符串字符的个数 17 NSString *str3 = @"123456"; 18 NSString *str4 = @"12345678"; 19 NSUInteger len1 = [str3 length]; 20 NSUInteger len2 = [str4 length]; 21 NSLog(@"len1 = %ld ,len2 = %ld", len1, len2); 22 23 //————————————————————————————字符串的转化 ———————————————————————————— 24 /* 25 1、大小写的转换 26 2、与基本数据类型的转换 27 */ 28 29 NSString *str5 = @"hello WORLD"; 30 NSString *str6 = [str5 uppercaseString]; // 全部转为大写 31 NSString *str7 = [str5 lowercaseString]; // 全部转为小写 32 NSString *str8 = [str5 capitalizedString]; // 首字母大写 33 NSLog(@"转为大写:%@",str6); 34 NSLog(@"转为小写:%@",str7); 35 NSLog(@"转为首字母大写:%@",str8); 36 37 // 转为基本数据类型,只能是数字字符串可以转化 38 NSString *str9 = @"1234"; 39 int value1 = [str9 intValue]; 40 float value2 = [str9 floatValue]; 41 double value3 = [str9 doubleValue]; 42 BOOL value4 = [str9 boolValue]; 43 NSLog(@"value1 = %d",value1); 44 NSLog(@"value2 = %f",value2); 45 NSLog(@"value3 = %lf",value3); 46 NSLog(@"value4 = %d",value4); 47 48 49 //————————————————————————————字符串的拼接—————————————————————————————— 50 51 NSString *str10 = @"11"; 52 NSString *str11 = @"22"; 53 54 NSString *str12 = [[NSString alloc] initWithFormat:@"%@%@",str10,str11]; 55 NSLog(@"str12 :%@",str12); 56 57 NSString *str13 = [str10 stringByAppendingString:str11]; 58 NSLog(@"str13 :%@",str13); 59 60 NSString *str14 = [str10 stringByAppendingFormat:@"%@33",str11]; //可以追加 61 NSLog(@"str14 :%@",str14); 62 63 64 //————————————————————————————字符串的查找替换——————————————————————————— 65 66 // 方式一: 67 NSString *str15 = @"549686034@qq.com"; 68 //rangeOfString 查找字符串所在的位置 返回NSRange类型 69 NSRange range = [str15 rangeOfString:@"@qq.com"]; 70 //NSNotFound 用于判断是否找到 71 if (range.location != NSNotFound) { 72 NSLog(@"包含字符串"); 73 } else{ 74 NSLog(@"不包含字符串"); 75 } 76 77 // 方式二:查找并且替换 78 NSString *newString = [str15 stringByReplacingOccurrencesOfString:@"qq.com" withString:@"163.com"]; 79 NSLog(@"newString :%@",newString); 80 81 82 //————————————————————————————字符串的截取——————————————————————————— 83 84 NSString *str16 = @"1234567890"; 85 86 // substringToIndex:从字符串开始截取到指定的位置,是从0开始 87 NSLog(@"截取的:%@",[str16 substringToIndex:2]); 88 89 // substringFromIndex:从指定位置截取到字符串结尾 90 NSLog(@"截取的1:%@",[str16 substringFromIndex:2]); 91 92 // substringWithRange:截取指定的范围 93 NSRange range1 = {1,3}; 94 // NSRange range2 = NSMakeRange(1, 3); // NSrange的两种创建方式 95 NSLog(@"截取的2:%@",[str16 substringWithRange:range1]); 96 97 // 取指定位置的字符 98 char c = [str16 characterAtIndex:1]; 99 NSLog(@"c = %c",c); 100 101 102 /*=============================NSMutableString(可变字符串)常用方法========================*/ 103 104 // 1、————————————————————————————可变字符串的创建——————————————————————————— 105 NSMutableString *mstr1 = [[NSMutableString alloc] initWithFormat:@"zxcvbnm"]; 106 NSMutableString *mstr2 = [NSMutableString stringWithFormat:@"asdfghjkl"]; 107 108 // NSMutableString *ms3 = @"hjkl;"; 可变的字符串不能这么写 109 110 111 // 2、————————————————————————————可变字符串的插入、删除、追加、替换——————————————————————————— 112 // insertString:atInde: 将字符串插入到指定的位置,不需要返回新的字符,这是跟不可变字符串的区别 113 [mstr1 insertString:@"1111" atIndex:1]; 114 NSLog(@"ms1 :%@",mstr1); 115 116 // deleteCharactersInRange :删除指定范围的字符串 117 NSRange range3 = {2,3}; 118 [mstr2 deleteCharactersInRange:range3]; 119 NSLog(@"mstr2 :%@",mstr2); 120 121 //字符串的拼接 122 [mstr2 appendString:@"00"]; 123 [mstr2 appendFormat:@"%d99",200];// 可以追加 124 NSLog(@"mstr2 :%@",mstr2); 125 126 //字符串替换 127 NSMutableString *mstr3 = [[NSMutableString alloc] initWithFormat:@"YYXXZZ"]; 128 NSRange range4 = [mstr3 rangeOfString:@"ZZ"]; 129 // replaceCharactersInRange:withString: 将指定范围的字符串替换 130 [mstr3 replaceCharactersInRange:range4 withString:@"VV"]; 131 NSLog(@"mstr3:%@",mstr3); 132 133 // 设置新的字符串 134 [mstr3 setString:@"000000000"]; 135 NSLog(@"new_mstr3:%@",mstr3);