OC中的NSString的其他用法

NSLog(@"大写:%@", [str uppercaseString]);
NSLog(@"小写:  %@", [str lowercaseString]);
NSLog(@"首字母大写, 其他字母变小写", [@"aGe", capitalizedString]);

BOOL result = [@"abc" isEqualToString:@"Abc"]; //返回0, 即为false

//比较字符串大小. compare会返回3个值中的其中一个
//1. NSOrderedSame  右边的字符串比左边大
//2. NSOrderedAscending  两个字符串的内容相同
//3. NSOrderedDescending  左边的字符串比右边的大
NSComparisonResult result2 = [@"abc" compare:@"Abc"];
if (result2 == NSOrderedSame){
  NSLog(@"两个字符串内容相同");
}else if (result2 == NSOrderedAscending){
  NSLog(@"右边 > 左边");
}else if (result2 == NSOrderedDescending){
  NSLog(@"右边 < 左边");
}

//字符串搜索
NSString *str = @"12345.txt";
//是否以12开头
NSLog(@"是否12开头:%i", [str hasPrefix:@12]); //返回1,即true
NSLog(@"是否txt结尾:%i", [str hasSuffix:@"txt"]); //返回1,即true

//查找是否包含345字符串, 如果没找到,返回的location=NSNotFound
//一旦找到字符串就返回,不理会后续是否还有相同的字符串
NSRange range = [str rangeOfString:@"345"];
NSLog(@"%@", NSStringFromRange(range));
if(range.location == NSNotFound){
  NSLog(@"不能找到");
}

NSRange range = [str rangeOfString:@"345" options: NSBackwardSearch];

//字符串的截取, 从第4位开始截取字符串
NSLog(@"%@", [str substringFromIndex: 3]);
NSLog(@"%@", [str substringToIndex: 3]);
//截取字符串中间范围, 截取从第3位开始,取3个字符
NSRange range = NSMakeRange(3, 3);
NSLog(@"%@", [str substringWithRange: range]);

//切割字符串,java中的split
NSString *str = @"1,2,3,4,5,6,7";
NSArray *array = [str componentsSeparedByString:@","];
NSLog(@"%@", array);

//拿到array第0个位置的字符串, array: [1,2,3,4,5,6,7]
NSString *str3 = [array objectAtIndex:0]; //输出1

//文件路径拼接方法
NSMutableArray *components = [NSMutableArray array];
[components addObject: @"User"];
[components addObject: @"MJ"];
[components addObject: @"Desktop"];
NSString *path = [NSString pathWithComponents:components];
NSLog(@"%@", path);  //输出User/MJ/Desktop

//切割成数组
NSArray *cmps = [path pathComponents];
NSLog(@"%@", cmps);

//判断是否是绝对路径
NSString path = @"users/mj/test";
NSLog(@"%i", [path isAbsolutePath]); //输出0,为false

//最后一个目录输出
NSLog(@"%@", [path lastPathComponent]);

//删除最后一个目录
NSLog(@"%@", [path stringByDeletingLastPathComponent]);

//再最后拼接一个目录
NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]); //输出 users/mj/test/abc

//拓展名处理, 获取拓展名
NSString *str = @"/user/desktop/test.text"; 
NSLog(@"%@", [str pathExtension]); //输出text

//删除拓展名方法: stringByDeletingPathExtension
//拼接拓展名方法: stringByAppendingPathExtension

//强转类型
NSString *val = @"1";
int valint = [val intValue];

//计算数字,不是字符数
NString *value = @"我是字符串";
NSLog("%@", [value length]); //输出5

//取得字符串其中某个字符
NSLog("%@", [value characterAtIndex: 0]); //输出 "我"

//转成C语言中的字符串
char *s = [@"abc" UTF8String];

猜你喜欢

转载自rayln.iteye.com/blog/1934667