黑马程序员-ios学习笔记 Foundation 中的 NSString

来源:互联网 发布:测apm软件 编辑:程序博客网 时间:2024/06/10 16:41

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

Foundation中的NSString

一、定义:一个NSString对象就代表一个字符串(文字内容) ;一般称NSString为字符串类 。


二、NSString的创建方式 

1、常量字符串(最直接的方式):

 例:

NSString *str=@"you";//直接赋值

2、格式化的方式:

    NSString *str1=[NSString stringWithFormat:@"%@",@"me"];//格式化赋值    NSString *str2=[[NSString alloc]initWithFormat: @"Your number is %d",211];//格式化赋值    NSLog(@"\n%@\n%@",str1,str2);    NSLog(@"\n%p\n%p",str1,str2);//地址不同

三、NSString常见方法

 -(NSString*)uppercaseString;—>全部字符转为大写字母

-(NSString*)lowercaseString;—>全部字符转为小写字母

-(NSString*)capitalizedString;—>首字母大写,其它字母小写,有多个单词则每个单词首字母变成大写,其余字母变成小写。

 NSString *str3=@"aRe yoU rEAdy";     NSLog(@"%@",[str3 uppercaseString]);//全部字母变为大写 NSLog(@"%@",[str3 lowercaseString]);//全部字母变为小写 NSLog(@"%@",[str3 capitalizedString]);//首字母变为大写,其余的小写,多个单词则每个单词的首字母大写,其余的小写

-(BOOL)isEqualToString:(NSString*)aString;—>比较两个字符是否相同,相同返回YES,不同返回NO;注:比较的是两个对象的地址是否相同,不是字符串内容。

NSString *str4=@"whre",*str5=@"where";//定义两个字符串变量BOOL st=[str4 isEqualToString:str5];  //比较两个字符串是否相同NSLog(@"%u\t%p\t%p",st,str4,str5);    //输出结果,地址不同

-(NSComparisonResult)compare:(NSString*)string;—>比较两个字符串内容的大小,是逐个字符进行比较ASCII值,返回NSComparisonResult为比较结果。

   NSComparisonResult是一个枚举,有3个值:

         如果左侧  > 右侧,返回NSOrderedDescending, 

         如果左侧  < 右侧,返回NSOrderedAscending, 

         如果左侧 == 右侧返回NSOrderedSame

例:

NSString *str=@"whEre",*str1=@"where";//定义两个字符串变量NSComparisonResult result=[str compare:str1];//比较字符串的内容大小,区分大小写NSLog(@"%ld\t%p\t%p",result,str,str1);//resultr的值有:1(str>str1)  0(str=str1) -1(str<str1)

-(NSComparisonResult) caseInsensitiveCompare:(NSString *)string; —>忽略大小写进行比较,返回值与compare:一致

例:

NSString *str4=@"whEre",*str5=@"where";//定义两个字符串变量NSComparisonResult  result1=[str4 caseInsensitiveCompare:str5];//比字符串内容的大小,不分大小写NSLog(@"%ld\t%p\t%p",result1,str4,str5);//输出结果,地址

-(BOOL)hasPrefix:(NSString *)aString; 是否以aString开头 

-(BOOL)hasSuffix:(NSString *)aString; 是否以aString结尾

例:

NSString *str=@"love";BOOL s=[str hasPrefix:@"y"];//判断字符串是不是以y开头BOOL a=[str hasSuffix:@"e"];//判断字符串是不是以e结尾NSLog(@"%hhd\t%hhd",s,a);//输出bool值

-(NSRange)rangeOfString:(NSString *)aString; 用来检查字符串内容中是否包含了aString
如果包含, 就返回aString的范围
如果不包含, NSRange的location为NSNotFound, length为0 

例:

NSString *str=@"compare";NSRange b=[str rangeOfString:@"pa"];//检查str中是否包含pa,包含则输出它的首位和长度NSLog(@"%lu\t%lu",b.location,b.length);//输出检查字符串的首位和长度

(NSString*)stringByReplacingOccurrencesOfString:(NSString*)you withString:(NSString*)me;—>用me替换you 

例:

NSString *str=@"you";NSString *str1=[str stringByReplacingOccurrencesOfString:@"yo" withString:@"how"];//用how替换str中的yoNSLog(@"%@替换后字符为:%@",str,str1);//输出结果

- (double)doubleValue; 

- (float)floatValue;

- (int)intValue; 

例:

NSString *str=@"2",*str1=@"2.34";     int x=[str intValue];      //将字符串转换为int类型     float y=[str1 floatValue]; //将字符串转换为float类型     double z=[str1 doubleValue];//将字符串转换为double类型     printf("%d\t%.2f\t%f",x,y,z);

- (char *)UTF8String; // 在操作SQLite数据库时才会用到
转为C语言中的字符串。 以后可能会用到别人的框架,都是纯C语言的,所以可能会用到把OC字符串转换为C语言的字 

符串。 

例:

char *str="whatyouname";  //定义c语言字符串NSString *str1=@"allright";//定义oc字符串NSString *str2=[NSString stringWithUTF8String:str];//c语言字符串转换成oc字符串char *str3=[str1 UTF8String];//oc字符串转换为c语言字符串NSLog(@"\n%@",str2);printf("%s",str3);


  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

0 0
原创粉丝点击