本文共 4661 字,大约阅读时间需要 15 分钟。
//// main.m// 字符串截取#importint main(int argc, const char * argv[]) { NSString *str = @"小码哥"; /* // NSRange : 位置/长度// NSRange range = {6, 3};// NSRange range;// range.location = 6;// range.length = 3; // 只要是OC提供的结构体, 一般都可以使用NSMakeXXX来创建// NSRange range = NSMakeRange(6, 3); */ // 1.动态获取截取的起始位置 NSUInteger location = [str rangeOfString:@">"].location + 1; // 2.动态获取截取的长度 // 注意:rangeOfString是从左至右的开始查找, 只要找到就不找了 // NSUInteger length = [str rangeOfString:@"<" options:NSBackwardsSearch].location - location; 从后向前找, NSUInteger length = [str rangeOfString:@" 小码哥 --> 小码哥 --> 小码哥 小码哥 --> 小码哥 --> 小码哥 */ NSLog(@"str = %@", str); NSUInteger location = [str rangeOfString:@">"].location + 1; NSString *newStr = [str substringFromIndex:location]; NSLog(@"newStr = %@", newStr); location = [newStr rangeOfString:@"
//// main.m// 字符串替换#importint main(int argc, const char * argv[]) { /* // 需求: 将&符号替换为/ NSString *str = @"http:&&www.520it.com&img&lnj.gif"; // OccurrencesOfString: 要替换谁 // withString: 用谁替换 NSString *newStr = [str stringByReplacingOccurrencesOfString:@"&" withString:@"/"]; NSLog(@"newStr = %@", newStr); // 1.去除空格 2.将&替换为/ NSString *str = @" http: &&www. 520it.com &img&lnj.gif "; // 1.去除空格 NSString *newStr = [str stringByReplacingOccurrencesOfString:@" " withString:@""]; NSLog(@"newStr = |%@|", newStr); NSString *newStr2 = [newStr stringByReplacingOccurrencesOfString:@"&" withString:@"/"]; NSLog(@"newStr2 = |%@|", newStr2); */ // 3.替换首尾 NSString *str1 = @" http:&&www.520it.com&img&lnj.gif "; NSString *str = @"HTTP://www.520it.com/img/LNJ.GIF"; NSCharacterSet *set1 = [NSCharacterSet whitespaceCharacterSet]; NSString *newStr1 = [str stringByTrimmingCharactersInSet:set1]; NSCharacterSet *set = [NSCharacterSet uppercaseLetterCharacterSet]; NSString *newStr = [str stringByTrimmingCharactersInSet:set]; //首尾大小写去掉了 NSLog(@"newStr = |%@|", newStr); return 0;}
//// main.m// 字符串与路径#importint main(int argc, const char * argv[]) { NSString *str = @"User/lnj/Desktop/lnj.txt.jpg"; // 1.判断是否是绝对路径 // 其实本质就是判断字符串是否以/开头 if([str isAbsolutePath]) //no { NSLog(@"是绝对路径"); }else{ NSLog(@"不是绝对路径"); } // 2.获取文件路径中的最后一个目录 // 本质就是获取路径中最后一个/后面的内容 NSString *newStr = [str lastPathComponent]; NSLog(@"%@", newStr); //lnj.txt.jpg // 3.删除文件路径中的最后一个目录 // 本质就是删除最后一个/后面的内容, 包括/也会被删除 NSString *newStr1 = [str stringByDeletingLastPathComponent]; NSLog(@"%@", newStr1); //User/lnj/Desktop // 4.给文件路径添加一个目录 // 本质就是在字符串的末尾加上一个/ 和指定的内容 // 注意: 如果路径后面已经有了/, 那么就不会添加了 // 如果路径后面有多个/, 那么会自动删除多余的/, 只保留一个 NSString *newStr2 = [str stringByAppendingPathComponent:@"xmg"]; NSLog(@"%@", newStr2); //User/lnj/Desktop/lnj.txt.jpg/xmg // 5.获取路径中文件的扩展名 // 本质就是从字符串的末尾开始查找., 截取第一个.后面的内容 NSString *newStr3 = [str pathExtension]; NSLog(@"%@", newStr3); //jpg // 6.删除路径中文件的扩展名 // 本质就是从字符串的末尾开始查找.,删除第一个.和.后面的内容 NSString *newStr4 = [str stringByDeletingPathExtension]; NSLog(@"%@", newStr4); //User/lnj/Desktop/lnj.txt // 7.给文件路径添加一个扩展名 // 本质就是在字符串的末尾加上一个.和指定的内容 NSString *newStr5 = [str stringByAppendingPathExtension:@"jpg"]; NSLog(@"%@", newStr5); //User/lnj/Desktop/lnj.txt.jpg.jpg return 0;}
//// main.m// 字符串的转换#importint main(int argc, const char * argv[]) {// NSString *str = @"abc"; // 1.将字符串转换为大写 NSString *newStr = [str uppercaseString]; NSLog(@"%@", newStr); // 2.将字符串转换为小写 NSString *newStr2 = [newStr lowercaseString]; NSLog(@"%@", newStr2);// htpp://www.520it.com/img/lnj.GIF; // 3.将字符串的首字符转换为大写 NSString *newStr = [str capitalizedString]; NSLog(@"%@", newStr); // 4.字符串与基本数据类型的转换 NSString *str1 = @"110"; NSString *str2 = @"120";// str1 + str2; // 错误 int value1 = [str1 intValue]; int value2 = [str2 intValue]; NSLog(@"sum = %i", value1 + value2); // 注意: 如果不是int,double,float,bool,integer,longlong这些类型就不要乱用 NSString *str3 = @"abc"; int value3 = [str3 intValue]; NSLog(@"value3 = %i", value3); // 5.C语言字符串和OC字符串之间的转换 char *cStr = "lnj"; NSString *str = [NSString stringWithUTF8String:cStr]; NSLog(@"str = %@", str); NSString *newStr = @"lmj"; const char *cStr2 = [newStr UTF8String]; NSLog(@"cStr2 = %s", cStr2); return 0;}
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/7440344.html,如需转载请自行联系原作者