大小写处理 Upper & Lower case
-(NSString *)uppercaseString -> Alter to upper all
-(NSString *)lowercaseString -> Alter to lower all
-(NSString *)capitalizedString ->Initial upper, rest lower
void caseTest(){
NSString *str=@"GuangDong";
NSLog(@"Uppercase:%@",[str uppercaseString]);
NSLog(@"capitalizestring:%@",[@"age" capitalizedString]);
}
NSString Cmparison 字符串比较 3
-(BOOL)isEqualToString:(NSString *)String ->compare two string content ,if same return YES otherwise return NO
-(NSComparisonResult)compare:(NSString *)strng ->compare two string by each letter,return object NSComparisonResult to show the result.
//NSComparisonResult is a enum with three values
//NSOrderedDescending(left>right),NSOrderedAscending,NSOrderedSame
-(NSComparisonResult)caseInsensitiveCompare:(NSString *)string
//Ignore upper or lower case, return same to compare
//敲这么多英文感觉自己好装B啊,哈哈哈
void compare(){
BOOL result=[@"abc" isEqualToString:@"Abc"];// return NO(YES =1,NO=0)
NSLog(@'%i',result);
NSComparisonResult result2=[@"abc" compare@"ABC"];
if(result2==NSOrderedSame){
NSLog(@"same");
}else if(result2==NSOrderedAscending){
NSLog(@"left<right");
}
else if(result2==NSOrderedDescending){
NSLog(@"left>right");
}
}
//Same lower case letter is larger than upper case of 32
NSString search certain string. NSString 中搜索字符串
-(BOOL)hasPrefix:(NSString *)astring //Whether start with astring
-(BOOL)hasSuffix:(NSString *)astring //Whether end with a string
-(NSRange)rangeOfString:(NSString *)astring
//Check whether include (first)astring ,if include,return the position of astring,if not,return location as -1 of NSRange,length is 0
-(NSRange)rangeOfString:(NSString *)astring options:(NSStringCompareOptions):mask
//Passing a parameter mark ,change retrieval method.
-(NSRange)rangeOfString:(NSString *)astring options:(NSStringCompareOptions):mask range:(NSRange)searchRange
//还可以用searchRange指定检索范围
#pragma mark 字符串的搜索
void search(){
NSString *str=@"123456456.txt";//only return the first
NSLog(@"Start with 12:%i",[str hasPrefix:@"12"];
NSLog(@"End with txt:%i"[str hasSuffix:@"txt"];//检查文件的拓展名
NSRange range=[str rangeOfString:@"345"];//option +单击 看文档 @"445"
NSLog(@"Include :%@",NSStringFromRange(range)];//{2,3}
if(range.location==NSNotFound){
NSLog(@"Can't find");//range.length==0;
}else{
NSLog(@"%@",NSStringFromRange(range));
}
//Search from back
range=[str rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"Range is %@",NSStringFromRange(range)); //{6,3}
//assign your area of search
NSRange range=NSMakeRange(2,3);
range=[str rangeOfString:@"456" options:NSBackwardSearch range:range];
NSLog(@"%@",NSStringFromRange(range));
}
NSString 的截取
-()
#pragma mark NSString 的截取
void subString(){
NSString *str=@"123456";
NSLog(@"%@",[str substringFromIndex:3]);//从索引3开始截取字符串(包括3)到尾部456
NSLog(@"%@",[str substringToIndex:3]);//从头部截取到索引3之前(不包括3)字符串 123
//指定范围进行截取
NSRange range=NSMakeRange(2,3);
NSLog(@"%@",[str substringWithRange:range]);
//切割字符串
NSString *str2=@"1-2-3-4-5";
NSArray *array=[str2 componentsSeparatedByString:@"-"];
//traverse array
NSLog(@"%@",array);//When print an object it will call decription method
//根据索引取数组值
NSString *str3=[array objectAtIndex:0];
NSLog(@"%@",str3);
字符串与路径
+(NSString *)pathWithComponents:(NSArray *)components
//将components 中的字符按顺序拼成一个路径
-(NSArray*)pathComponents
//将一个路径分解成一个装有每一个目录的NSArray
-(BOOL)isAbsolutePath
//是否是绝对路径
-(NSString *)lastPathComponent
//获得最后一个目录
-(NSString *)stringByDeletingLastPathComponent
//删除最后一个目录
-(NSString *)stringByAppendingPathComponent:(NSString *)str
//在路径后面拼接一个目录
-(NSString *)pathExtension
// get 拓展名
-(NSString *)astringByDeletingPathExtension
//delete extension
-(NSString *)astringByAppendingPathExtension:(NSString *)str
//append extension
void pathTest(){
//快速创建一个自动释放的数组
NSMutableArray *components=[NSMutableArray array];
[components addObject:@"Users"];
[components addObject:@"Yesi"];
[components addObject:@"Desktop"];
[NSString pathWithComponents;components];
//将数组中的所有字符串拼接成一个路径
NSString *path=[NSString pathWithComponents:components];
NSLog(@"%@",path);//User/Yesi/Desktop
//将路径分解成一个数组
NSArray *cmps=[path pathComponents];
NSLog(@"%@",cmps);
// absolute path->/user
path =@"users/mj/test";
NSLog(@"%i",[path isAbsolutePath]);
NSLog(@"last path components is %i",[path lastPathComponents]);
NSLog(@"Delete last path components is %i",[path stringByDeletinglastPathComponents]);// ->users/Yesi
NSLog(@"Append path components is %i",[path stringByAppendingPathComponents:@"abc"]);
//使用的path一直都没有变过,返回值才是变过的 -> users/Yesi/test/abc
}
#pragma mark extension
void extension(){
NSString *str=@"users/yesi/text.txt";
NSLog(@"%@",[str pathExtension]);
NSLog(@"%@",[str stringBydeletingPathExtension]);
NSLog(@"%@",[@"abc" stringByAppendingPathExtension:@"mp3"]);
// will add stupidly .mp3
}
NSString 其他用法
void other(){
NSString *str=@"12";
int a = [str intValue];
NSLog(@"%i",a);
// count 字数
int b=[@"我是字符串" length];
NSLog(@"%zi",b);// 5
//取出对应的字符
unichar c=[@"abc" characterAtIndex:0]
NSLog(@"%c“,c);//a
//转为C语言的字符串
const char *s=[@"abc" UTF8String];// 常量不能对s进行修改
NSLog(@"%s",s);//%s c 语言中的字符串
}