以下两行都是代码表示声明一个字符串
NSString *str=@”hello”;
NSString *str=[NSString stringWithFormat:@”hello,my name is %@”,@”mike”];
以下三行是表示以1为起始,长度为3的范围。
NSRange rg={1,3};
NSRange rg=[NSRange new]; rg.location=1;rg.length=3;
NSRange rg= NSMakeRange(1,3);
字符串对应的方法
length
NSString *str1 = @"字符串内容";
NSString *str2 = [NSString new];
str2=@"字符串内容";
str1和str2的值和地址都相等 要想不相等就可以写成
NSString *str2 = [NSString stringWithFormat:@"字符串内容"];
这样地址就不相等,值相等了
compare 方法 比较两个字符串的大小,和c与语言的strcmp是一样的效果,从第一个字符开始判断ascii的值的大小,只要同一个位置的两个ascii的值不一样的时候就是返回比较的结果。1 0 -1三个枚举值
str1=@"hello30";
str2=@"hello4";
NSLog(@"%d",[str1 compare:str2]);//-1 表示比较每个的ascii的大小
NSLog(@"%d" ,[str1 compare:str2 options:NSNumericSearch] );// 1 比较数字的大小
Str以什么开始(hasPrefix) 以什么结束方法(hasSuffix)
int a =[@"23" intValue];//转化成功
int a =[@"a0" intValue];//转化失败:只支持10进制
unsigned int rd;
[[NSScanner scannerWithString:@"a0"] scanHexInt:&rd];//160转换成功 16进制转换成十进制
字符串替换
str1=@"hello world";
str2=@"abc";
str1 = [str1 stringByReplacingOccurrencesOfString:@"hello" withString:str2];//str1 是
abc world;
字符串分割函数,分割的结果是一个数组
str1=@”123:456:789”;
str1=@"123:456:789";
NSArray*arr=
[str1 componentsSeparatedByString:@":"];
NSArray:增加,指定位置增加,指定位置删除
排序
NSArray *arr3 = @[stu1,stu2,stu3];
NSArray *res = [arr3 sortedArrayUsingSelector:@selector(studentCompare:)];
Student.m文件
//自定义排序
-(NSComparisonResult) studentCompare:(Student *) s
{
if(self.score<s.score)
{
return NSOrderedAscending;//-1
}
else if (self.score==s.score)
{
return NSOrderedSame;//0
}
else
{
return NSOrderedDescending;//1
}
}