黑马程序员----OC学习NSString使用方法
2015-07-03 17:55
543 查看
在Foundation框架中,提供了NNString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础之上(C的基础之上添加了面向对象的内容,smalltalk语言)。因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.此外,NSString对象,一旦被创建,就不可以在进行修改。如若需要一个可以更改的字符串对象,需要创建NSMutableString实例。
NSString *str1 = @"Car";
NSString *str2 = @"Tree";
//全部转为大写
NSLog(@"%@",[str1 uppercaseString]);
//全部转为小写
NSLog(@"%@",[str1 lowercaseString]);
//首字母大写
NSLog(@"%@",[str1 capitalizedString]);
//比较两个字符串内容是否相同
BOOL b =[str1 isEqualToString:str2];
//两个字符串内容比较
//NSOrderedAscending 右边 > 左边
//NSOrderedSame 内容相同
//NSOrderedDescending 左边 > 右边
NSComparisonResult result = [str1 compare:str2];
if (result == NSOrderedAscending) {
NSLog(@"右边 > 左边");
}else if(result == NSOrderedSame){
NSLog(@"内容相同");
}else if (result == NSOrderedDescending){
NSLog(@"左边 > 右边");
}
//忽略大小写进行比较,返回值与compare一样
result = [str1 caseInsensitiveCompare:str2];
if (result == NSOrderedAscending) {
NSLog(@"右边 > 左边");
}else if(result == NSOrderedSame){
NSLog(@"内容相同");
}else if (result == NSOrderedDescending){
NSLog(@"左边 > 右边");
}
//判断字符串是否以指定字符串开头
[str1 hasPrefix:@"aaa"];
//判断字符串是否以指定字符串结尾
[str1 hasSuffix:@"aaa"];
//判断字符串是否包含指定字符串,返回位置和长度
NSRange range = [@"123456" rangeOfString:@"456"];
NSLog(@"%@", NSStringFromRange(range));
//反向搜索
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range));
//指定范围进行搜索
range = NSMakeRange(0, 9);
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch range:range];
NSLog(@"%@",NSStringFromRange(range));
NSString *str = @"123456789";
NSLog(@"%@",[str substringFromIndex:3]);
NSLog(@"%@",[str substringToIndex:6]);
NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 3)]);
//用指定字符串分割字符串,返回一个数组
NSArray *array = [@"1,2,3,4,5,6" componentsSeparatedByString:@","];
NSLog(@"%@",array);
//将数组中的字符串组合成一个文件路径
NSMutableArray *components = [NSMutableArray array];
[components addObject:@"Users"];
[components addObject:@"CentralPerk"];
[components addObject:@"Desktop"];
NSString *path = [NSString pathWithComponents:components];
NSLog(@"%@",path); //Users/CentralPerk/Desktop
//将一个路径分割成一个数组
NSArray *array1 = [path pathComponents];
NSLog(@"%@",array1);
//判断是否为绝对路径(依据:是否以'/'开始)
path = @"/Users/CentralPerk/Desktop";
NSLog(@"%i",[path isAbsolutePath]);
//获取最后一个目录
NSLog(@"%@",[path lastPathComponent]);
//删除最后一个目录
NSLog(@"%@",[path stringByDeletingLastPathComponent]);
//拼接一个目录
NSLog(@"%@",[path stringByAppendingPathComponent:@"aaa"]); ///Users/CentralPerk/Desktop/aaa
NSLog(@"%@",[path stringByAppendingString:@"aaa"]); ///Users/CentralPerk/Desktopaaa
NSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]); ///Users/CentralPerk/Desktopbc
//拓展名出来
//获取拓展名,不带.
NSString *str2 = @"Users/CentralPerk/Desktop/test.txt";
NSLog(@"%@",[str2 pathExtension]);
//添加拓展名,不需要带.
NSLog(@"%@",[str2 stringByAppendingPathExtension:@"mp3"]);
//删除拓展名,带.一块删除
NSLog(@"%@",[str2 stringByDeletingPathExtension]);
//字符串转为 int double float
NSString *str3 = @"123";
NSLog(@"%i",[str3 intValue]);
NSLog(@"%zi",[str3 length]);
//取出指定位置的字符
unichar c = [str3 characterAtIndex:2];
NSLog(@"%c",c);
//转为C语言的字符串
const char *s = [str3 UTF8String];
NSLog(@"%s",s);
// trim
NSString *str = @" abcd ";
NSString *str2 = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"%@",str);
NSLog(@"%@",str2);
NSString *str1 = @"Car";
NSString *str2 = @"Tree";
//全部转为大写
NSLog(@"%@",[str1 uppercaseString]);
//全部转为小写
NSLog(@"%@",[str1 lowercaseString]);
//首字母大写
NSLog(@"%@",[str1 capitalizedString]);
//比较两个字符串内容是否相同
BOOL b =[str1 isEqualToString:str2];
//两个字符串内容比较
//NSOrderedAscending 右边 > 左边
//NSOrderedSame 内容相同
//NSOrderedDescending 左边 > 右边
NSComparisonResult result = [str1 compare:str2];
if (result == NSOrderedAscending) {
NSLog(@"右边 > 左边");
}else if(result == NSOrderedSame){
NSLog(@"内容相同");
}else if (result == NSOrderedDescending){
NSLog(@"左边 > 右边");
}
//忽略大小写进行比较,返回值与compare一样
result = [str1 caseInsensitiveCompare:str2];
if (result == NSOrderedAscending) {
NSLog(@"右边 > 左边");
}else if(result == NSOrderedSame){
NSLog(@"内容相同");
}else if (result == NSOrderedDescending){
NSLog(@"左边 > 右边");
}
//判断字符串是否以指定字符串开头
[str1 hasPrefix:@"aaa"];
//判断字符串是否以指定字符串结尾
[str1 hasSuffix:@"aaa"];
//判断字符串是否包含指定字符串,返回位置和长度
NSRange range = [@"123456" rangeOfString:@"456"];
NSLog(@"%@", NSStringFromRange(range));
//反向搜索
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"%@",NSStringFromRange(range));
//指定范围进行搜索
range = NSMakeRange(0, 9);
range = [@"123456456qweasasd456" rangeOfString:@"456" options:NSBackwardsSearch range:range];
NSLog(@"%@",NSStringFromRange(range));
NSString *str = @"123456789";
NSLog(@"%@",[str substringFromIndex:3]);
NSLog(@"%@",[str substringToIndex:6]);
NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 3)]);
//用指定字符串分割字符串,返回一个数组
NSArray *array = [@"1,2,3,4,5,6" componentsSeparatedByString:@","];
NSLog(@"%@",array);
//将数组中的字符串组合成一个文件路径
NSMutableArray *components = [NSMutableArray array];
[components addObject:@"Users"];
[components addObject:@"CentralPerk"];
[components addObject:@"Desktop"];
NSString *path = [NSString pathWithComponents:components];
NSLog(@"%@",path); //Users/CentralPerk/Desktop
//将一个路径分割成一个数组
NSArray *array1 = [path pathComponents];
NSLog(@"%@",array1);
//判断是否为绝对路径(依据:是否以'/'开始)
path = @"/Users/CentralPerk/Desktop";
NSLog(@"%i",[path isAbsolutePath]);
//获取最后一个目录
NSLog(@"%@",[path lastPathComponent]);
//删除最后一个目录
NSLog(@"%@",[path stringByDeletingLastPathComponent]);
//拼接一个目录
NSLog(@"%@",[path stringByAppendingPathComponent:@"aaa"]); ///Users/CentralPerk/Desktop/aaa
NSLog(@"%@",[path stringByAppendingString:@"aaa"]); ///Users/CentralPerk/Desktopaaa
NSLog(@"%@",[path stringByAppendingFormat:@"%@%@",@"b",@"c"]); ///Users/CentralPerk/Desktopbc
//拓展名出来
//获取拓展名,不带.
NSString *str2 = @"Users/CentralPerk/Desktop/test.txt";
NSLog(@"%@",[str2 pathExtension]);
//添加拓展名,不需要带.
NSLog(@"%@",[str2 stringByAppendingPathExtension:@"mp3"]);
//删除拓展名,带.一块删除
NSLog(@"%@",[str2 stringByDeletingPathExtension]);
//字符串转为 int double float
NSString *str3 = @"123";
NSLog(@"%i",[str3 intValue]);
NSLog(@"%zi",[str3 length]);
//取出指定位置的字符
unichar c = [str3 characterAtIndex:2];
NSLog(@"%c",c);
//转为C语言的字符串
const char *s = [str3 UTF8String];
NSLog(@"%s",s);
// trim
NSString *str = @" abcd ";
NSString *str2 = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"%@",str);
NSLog(@"%@",str2);
相关文章推荐
- NSString与C字符串之间的相互转换
- NSString 用法2
- NSString 用法3
- IOS字符串拼接方法小结
- ios NSString 使用
- 字符串处理,数据类型
- NSString为啥要使用Copy属性
- 字面量语法的好处
- Objectvie-C之 NSString 处理技巧<一>:分割字符串
- IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet 应该用于账号登录等
- NSString 纯数字判断~~~
- NSString 的内存问题
- NSDATA如何转成NSString
- 贫的有点多了,本文介绍一
- 关于NSString、NSMutableString的例子
- 黑马程序员——Foundation框架——NSString
- OC数组排序的基本方法
- Objective-C NSString--(1)
- Objective-C NSString--(2)
- OC_学习_数字对象和字符串NSString