OC中NSString 的常用方法 (转载)

NSString *str1 = @"BeiJing";
NSString *str2 = @"beijing";

//全部转为大写
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));

<pre name="code" class="cpp">//字符串的截取
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);

时间: 2024-07-29 04:18:28

OC中NSString 的常用方法 (转载)的相关文章

OC中NSString和block的属性时copy,而不用retain

OC中NSString和block的属性时copy,而不用retain   而容器类使用retain NSString 为什么要使用copy,而不是retain 1.首先如果使用retain,只是引用计数+1,并没有生成新的对象,所以效率好 2.但是使用copy安全.因为NSString为NSMutableString 的基类,如果将NSMutableString 以retain的形式赋值给NSString后,后续修改NSMutableString会导致NSString内容的变化,这通常不是我们

OC中NSString 的方法

NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@"%@",[str1 uppercaseString]); //全部转为小写 NSLog(@"%@",[str1 lowercaseString]); //首字母大写 NSLog(@"%@",[str1 capitalizedString]); //比较两个字符

Foundation中NSString的常用方法

1.大小写操作 // 全部转为大写 // 结果 ABC [@"abc" uppercaseString] // 全部转为小写 // 结果 bcd [@"BCD" lowercaseString] // 首字母大写 // 结果 Acb [@"acb" capitalizedString] 2.字符串比较 // 比较两个字符串内容是否相同 BOOL b =[str isEqualToString:str2]; // 两个字符串内容比较 // NSCo

OC中的NSNumber、NSArray、NSString的常用方法

和C语言不同在Objective-C语言中有单独的字符串类NSString.C语言中string是由 charASCLL码字符组成 OC中字符串是由unicharUnicode字符组成 NSString不可变字符串即创建以后内容和长度不能更改 NSMutableString可变字符串即创建以后内容还可以修改 在使用哟个字符串对象之前首先创建一个新的字符串可以使用实例方法和便利构造器 NSString常用的方法 1.使用实例方法和便利构造器创建一个新的字符串 2.获取字符串长度 3.获取子字符串

OC中NSDictionary(字典)、NSMutableDictionary(可变字典)、NSSet(集合)、NSMutableSet(可变集合)得常用方法

字典用于保存具有映射关系数据的集合 一个key—value对认为是一个条目(entry),字典是存储key—value对的容器 与数组不同,字典靠key存取元素 key不能重复,value必须是对象 键值对在字典中是无序存储的 字典分:不可变字典(NSDictionary)和可变字典(NSMutableDictionary) 不可变字典一旦创建,键值对就不可更改,不可添加,不可删除,仅能读取key或者value 常用方法有: 1.创建字典对象 2.获取所有key值,获取所有value值 3.通过

NS前缀\OC中的注释\访问OC原文件、C原文件中的函数

///////////////////////////////////////// //////////////////////////////////////// NS前缀 NS来自于NeXTStep的一个软件 NeXT Software OC中不支持命名空间(namespace) NS是为了避免命名冲突而给的前缀 看到NS前缀就知道是Cocoa中的系统类的名称 "@"的使用方法 1.@""这个符号表示将C中的字符串转化为OC中的字符串对象 2.@符号 OC中的大

OC中使用UI自定义控件实现计算器的设计(版本1简单的加减乘除,连加,连减,连除,连乘)

OC中使用UI自定义控件实现计算器的设计(版本1简单的加减乘除,连加,连减,连除,连乘) #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIApplicationDelegate> { float _operator1; float _operator2; float _result; } @end #import "ViewController.h" @interfac

关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型

关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使用NSStringFromCGRect(CGRect rect)来直接打印一个结构体,其他打印可以参考以下内容 UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN NSString *NSStringFrom

【学习ios之路:Objective-C】OC中常用的系统排序方法

①.OC中常用排序方法: 1).不可变数组 - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; - (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr; 2)可变数组 - (void)sortUsingSelector:(SEL)comparator; - (void)sortUsingComparator:(NSComparator)cmptr; 3).字典排序 - (NS