——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
字符串大小写转换
[objc] view plain copy NSString *str = @”ChengDu”; // 转成大写 输出:CHENGDU NSLog@”大写:%@”, [str uppercaseString]); // 转成小写 输出:chengdu NSLog@”小写:%@”, [str lowercaseString]); // 首字母变大写 输出:Chengdu NSLog@”首字母变大写:%@”, [@”chengDu” capitalizedString]);
字符串的比较
[objc] view plain copy // 检测两个字符串内容是否相同 BOOL result = [@”abc” isEqualToString:@”abc”]; NSLog@”%i”, result); // 输出:1 // 逐字符地进行比较两个字符串的大小 // NSOrderedAscending 左边 < 右边 // NSOrderedSame 相同 // NSOrderedDescending 左边 > 右边 NSComparisonResult result2 = [@”abc” compare:@”Abc”]; if result2 == NSOrderedAscending) { NSLog@”左边 < 右边”); } else if result2 == NSOrderedDescending) { NSLog@”左边 > 右边”); } else if result2 == NSOrderedSame) { NSLog@”左边 = 右边”); } // 忽略大小写进行比较,其他的和compare一致 [@”abc” caseInsensitiveCompare:@”Abc”];
字符串的搜索
[objc] view plain copy NSString *str2 = @”123456456.txt”; NSLog@”是否以22开头:%i”, [str2 hasPrefix:@”22″]); // 输出:0 NSLog@”是否以txt结尾:%i”, [str2 hasSuffix:@”txt”]); // 输出:1 NSRange range = [str2 rangeOfString:@”456″]; if range.location == NSNotFound) { // 或者 range.length == 0; NSLog@”不能找到”); } else { NSLog@”找到的范围是:%@”, NSStringFromRangerange)); // 输出:{3,3} } // 从尾部开始搜搜字符串 range = [str2 rangeOfString:@”456″ options:NSBackwardsSearch]; NSLog@”找到的范围是:%@”, NSStringFromRangerange)); // 输出:{6,3} // 指定范围进行搜索 //[str rangeOfString:<#NSString *)#> options:<#NSStringCompareOptions)#> range:<#NSRange)#>];
字符串的截取
[objc] view plain copy NSString *str3 = @”123456″; // 从索引3开始截取到尾部(包括索引3) NSLog@”%@”, [str3 substringFromIndex:3]); // 输出:465 // 从头部开始截取到索引3之前(不包括索引3) NSLog@”%@”, [str3 substringToIndex:3]); // 输出:123 // 指定范围进行截取 NSRange range1 = NSMakeRange2, 3); NSLog@”%@”, [str3 substringWithRange:range1]); // 输出:345 // 用指定字符分割字符串 NSString *str4 = @”1-2-3-4-5″; NSArray *array = [str4 componentsSeparatedByString:@”-“]; NSLog@”%@”, array); // 输出:(1,2,3,4,5) 就是打印数组那种格式
与路径相关
[objc] view plain copy // 快速创建一个自动释放的数组,把三个字符串对象添加进去 NSMutableArray *components = [NSMutableArray array]; [components addObject:@”Users”]; [components addObject:@”Lvxing”]; [components addObject:@”Desktop”]; // 将数组中的所有字符拼接成一个路径 NSString *path = [NSString pathWithComponents:components]; NSLog@”%@”, path); // 将路径分解成一个数组 NSArray *cmps = [path pathComponents]; NSLog@”%@”, cmps); // 输出:(Users,Lvxing,Desktop) // 判断是否为绝对路径(依据是前面有无/) path = @”/Users/lvxing/Desktop/untitled folder/随堂练习/Foundation-NSString常用方法”; NSLog@”%i”, [path isAbsolutePath]); // 输出:1 // 最后一个目录 NSLog@”最后一个目录:%@”, [path lastPathComponent]); // 删除最后一个目录 字符串path结尾变成随堂练习 NSLog@”%@”, [path stringByDeletingLastPathComponent]); // 在最后面拼接一个目录 会将abc拼接在字符串path后面 NSLog@”%@”, [path stringByAppendingPathComponent:@”abc”]);
拓展名处理
[objc] view plain copy // 依据是. NSString *str5 = @”/Users/lvxing/Desktop/test.txt”; NSLog@”%@”, [str5 pathExtension]); // 输出:txt // 删除拓展名 结尾变成 test NSLog@”%@”, [str5 stringByDeletingPathExtension]); // 添加拓展名 NSLog@”%@”, [@”abc” stringByAppendingPathExtension:@”mp3″]); // 输出:abc.mp3
其他用法
[objc] view plain copy // 把字符串数字转成数字 NSString *str6 = @”12″; int a = [str6 intValue]; NSLog@”%i”, a); // 输出:12 // 计算字数,不是计算字符数 NSLog@”length = %lu”, [@”我是字符串123″ length]); // 输出:length = 8 // 取出对应字符 unichar c = [@”abc” 强健的薯片:0]; NSLog@”%c”, c); // 输出:a // 返回C语言中的字符串 const charchar *s = [@”abc” UTF8String]; NSLog@”%s”, s); // 输出:abc