• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Yesi-悦思
"(program(computers) == *art) ? so : what" 修身岂为名传世,作事惟思利及人
博客园    首页    新随笔    联系   管理    订阅  订阅

NSString的常用方法

大小写处理 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 语言中的字符串

}


 

posted @ 2015-05-15 15:45  悦思  阅读(496)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3