NSString的常用方法

  1 #pragma mark 字符串的大小写处理
  2 void caseTest() {
  3     NSString *str = @"GuangDong";
  4     // 转成大写
  5     NSLog(@"大写:%@", [str uppercaseString]);
  6     // 转成小写
  7     NSLog(@"小写:%@", [str lowercaseString]);
  8     // 首字母变大写,其他字母变小写
  9     NSLog(@"首字母变大写:%@", [@"aGE" capitalizedString]);
 10 }
 11 
 12 #pragma mark 字符串的比较
 13 void compare() {
 14     // 检测字符串的内容是否相同
 15     BOOL result = [@"abc" isEqualToString:@"abc"];
 16     NSLog(@"%i", result);
 17     
 18     // NSOrderedAscending  右边的字符串比左边大
 19     // NSOrderedSame  两个字符串的内容相同
 20     // NSOrderedDescending  左边的字符串比右边的大
 21     NSComparisonResult result2 = [@"abc" compare:@"Abc"];
 22     if (result2 == NSOrderedSame) {
 23         NSLog(@"两个字符串的内容相同");
 24     } else if (result2 == NSOrderedAscending) {
 25         NSLog(@"右边 > 左边");
 26     } else if (result2 == NSOrderedDescending) {
 27         NSLog(@"右边 < 左边");
 28     }
 29 }
 30 
 31 #pragma mark 字符串的搜索
 32 void search() {
 33     NSString *str = @"123456456.txt";
 34     
 35     NSLog(@"是否以22开头:%i", [str hasPrefix:@"22"]);
 36     NSLog(@"是否以txt结尾:%i", [str hasSuffix:@"txt"]);
 37     
 38     // 搜索字符串
 39     NSRange range = [str rangeOfString:@"456"];
 40     // range.length == 0
 41     if (range.location == NSNotFound) {
 42         NSLog(@"不能找到");
 43     } else {
 44         NSLog(@"找到的范围是:%@", NSStringFromRange(range));
 45     }
 46     
 47     // 从尾部开始搜索字符串
 48     range = [str rangeOfString:@"456" options:NSBackwardsSearch];
 49     NSLog(@"%@", NSStringFromRange(range));
 50     
 51     // 指定范围进行搜索
 52     // [str rangeOfString:@"456" options:NSBackwardsSearch range:<#(NSRange)#>];
 53 }
 54 
 55 #pragma mark 字符串的截取
 56 void subString() {
 57     NSString *str = @"123456";
 58 //    NSMutableString *str1 = [NSMutableString stringWithString:str];
 59     NSRange range2  =[str rangeOfString:@"123"];
 60     NSLog(@"%@",NSStringFromRange(range2));
 61     [str stringByReplacingCharactersInRange:range2 withString:@"abc" ];
 62     NSLog(@"===%@",[str stringByReplacingOccurrencesOfString:@"1" withString:@"111" ]);
 63     // 从索引3开始截取到尾部(包括3)
 64     NSLog(@"%@", [str substringFromIndex:3]);
 65     
 66     // 从头部开始截取到索引3之前(不包括3)
 67     NSLog(@"%@", [str substringToIndex:3]);
 68     
 69     // 指定范围进行截取
 70     NSRange range = NSMakeRange(2, 3);
 71     NSLog(@"%@", [str substringWithRange:range]);
 72     
 73     NSString *str2 = @"a-b-c-d-5";
 74     NSArray *array = [str2 componentsSeparatedByString:@"-"];
 75     NSLog(@"%@", array);
 76     
 77     NSString *str3 =  [array objectAtIndex:0];
 78     NSLog(@"%@", str3);
 79 }
 80 
 81 #pragma mark 与路径相关
 82 void pathTest() {
 83     // 快速创建一个自动释放的数组
 84     NSMutableArray *components = [NSMutableArray array];
 85     [components addObject:@"Users"];
 86     [components addObject:@"MJ"];
 87     [components addObject:@"Desktop"];
 88     // 将数组中的所有字符串拼接成一个路径
 89     NSString *path = [NSString pathWithComponents:components];
 90     NSLog(@"%@", path);
 91     
 92     // 将路径分解成一个数组
 93     NSArray *cmps = [path pathComponents];
 94     NSLog(@"%@", cmps);
 95     
 96     // path是一个字符串常量,是不可变的
 97     path = @"/users/mj/test";
 98     // 判断是够为绝对路径(依据是前面有无/)
 99     NSLog(@"%i", [path isAbsolutePath]);
100     NSLog(@"最后一个目录:%@", [path lastPathComponent]);
101     // 删除最后一个目录
102     NSLog(@"%@", [path stringByDeletingLastPathComponent]);
103     // 在最后面拼接一个目录
104     NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);
105 }
106 
107 #pragma mark 拓展名处理
108 void extension() {
109     NSString *str = @"/User/MJ/test.txt";
110     
111     NSLog(@"拓展名:%@", [str pathExtension]);
112     // 删除拓展名
113     NSLog(@"%@", [str stringByDeletingPathExtension]);
114     // 添加拓展名
115     NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]);
116 }
117 
118 #pragma mark 其他用法
119 void other() {
120     NSString *str = @"12";
121     int a = [str intValue];
122     NSLog(@"%i", a);
123     
124     // 计算字数,不是计算字符数
125     NSLog(@"length=%zi", [@"我是字符串123" length]);
126     
127     // 取出对应的字符
128     unichar c = [@"abc" characterAtIndex:0];
129     NSLog(@"%c", c);
130     
131     // 返回C语言中的字符串
132     const char *s = [@"abc" UTF8String];
133     NSLog(@"%s", s);
134 }
135 

 

posted @ 2015-05-10 20:48  秋叶飘渺  阅读(113)  评论(0编辑  收藏  举报