------- android培训、java培训、ios培训、期待与您交流! ----------
一.NSString
1)campare
Nsstring是oc极其常用的类,通常用于字符串相关的工作。
其一便是字符串大小的比较
字符串根据排列顺序的不同,会有大小差异,如果我们要比较两个字符串的大小的话,可以使用聪明compare方法。
compare方法的返回结果有三种:
nsorderedascending,这表示第一个字符串大于第二个字符串。 值为1。
nsorderedsame,如字面所示,表示两个字符串大小相等。值为0.
nsordereddesending,它表示第一个字符串小于第二个字符串。值为-1。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *s1=@"aaaa";
NSString *s2=@"ssss";
NSComparisonResult a= [s1 compare:s2];
switch (a) {
case 1:
NSLog(@"一大于二");
break;
case 0:
NSLog(@"相等");
break;
case -1:
NSLog(@"二大于一");
break;
default:
break;
}
}
return 0;
}
另,compare还有三种参数,分别为:NSCaseInsensitireSearch:不区分大小写
NSLiteralSearch:区分大小写(默认)
NSNumbericSearch:比较字符串的字符个数而不是总和的ASCII码值。
2)前后缀检查以及搜索
nsstring中有一种方法可以快速帮我们检查前缀后缀是否符合我们所需,这就是hasprefix与hassuffix。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *s1=@"daiuhsdasdjasdoij";
if ([s1 hasPrefix:@"dai"]) {
NSLog(@"前缀正确");
}else{
NSLog(@"前缀错误");
}
if ([s1 hasSuffix:@"ij"]) {
NSLog(@"后缀正确");
}else{
NSLog(@"后缀错误");
}
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *s1=@"daiuhsdasdjasdoij";
NSString *s2=@"uhsd";
NSRange nsr=[s1 rangeOfString:s2 ];
NSLog(@"%lu,%lu",nsr.location,nsr.length); //location表示字符串首次出现的位置 length表示字符串的长度
}
return 0;
}
需要注意的是,当字符串无法被搜索到时,location会显示成一个极大数,而length为0,虽然显示为极大数弹实际上location会被编译器认定为NSNotFound,此时,可以通过这个来判断字符串是否被搜索到。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *s1=@[@"1",@"2",@"3",@"4"];//这是目前最为简便的创建数组的方式。
NSLog(@"%@",s1);
NSString *s2=[s1 objectAtIndex:2];//通过objectatindex取任意数组的下标并将其写入s2中
NSLog(@"%@",s2);
s2=s1[3];
NSLog(@"%@",s2);//这是简化后的访问方法
for (int i =0; i<s1.count; i++) {
NSString *s2=[s1 objectAtIndex:i];
NSLog(@"%@",s2);
}//之前最常用的遍历方法
for (NSString *s3 in s1) {
NSLog(@"haha%@",s3); //使用forin助记符产生的一种遍历方式
}
[s1 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"block%@,%lu",obj,idx); //使用block的一种遍历方式
}];
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDictionary *s1=@{@"zj":@"zhijiang",@"bj":@"beijing"}; //字典最简便的创建格式,需要注意的是,key与value并行,每一个key用:与value联结起来。
NSLog(@"%@",s1);//以%@的形式打印字典,
NSLog(@"%lu",s1.count); //获取字典的长度
NSString *s2=[s1 objectForKey:@"zj"];
NSLog(@"%@",s2);//获取字典中key所对应的值保存在s2中并打印出来。
for (NSString *s3 in s1) {
NSLog(@"key:%@",s3); //s3取值为key
NSString *s4=[s1 objectForKey:s3]; //通过key 使用objectforkey 获取value值并保存在s4中打印出来。
NSLog(@"%@",s4);
}
}
return 0