OC NSString类,课堂笔记

不可变字符串NSString:

//1.创建

  NSString* str1=@"字符串1";

  NSString* str2=[NSString stringWithString:str1];

//创建空字符串

  NSString *str3=[NSString new];

  NSString* str4=[NSString string];

//转换

//基本数据类型->字符串

  NSInteger int1=75;

  CGFloat float1=-99.1;

  NSString* str5=[[NSString alloc]initWithFormat:@"%ld,%f",int1,float1];

  NSString *str6=[NSString stringWithFormat:@"%ld,%f",int1,float1];

  NSLog(@"%@,%@",str5,str6);

//字符串->基本数据类型

  NSString * str7=@"11";

  NSInteger a=[str intValue];

  NSLog(@"%ld",a);

//基本数据类型转换为对象

  NSInteger bb=22;

  NSNumber *aa=[NSNumber numberWithLong:bb];

  NSLog(@"%@",aa);  

 

 

//字符串的长度

  NSUInteger length=[str6 length];

//字符串的比较

  NSString * str9=@"abcDef342";

  NSString* str10=@"abCDef41";

  NSComparisonResult result1=[str9 compare:str10];

  NSLog(@"%ld",result1);//放回表示1表示升序,0相等,-1降序

//不区分大小写比较

  NSComparisonResult result2=[str9 caseInsensitiveCompare:str10];

  NSLog("%@",result2);

//按照特定条件

  NSString* str11=@"text1";

  NSString *str12=@"text2";

  //不区分大小写

  NSComparisonResult result3=[str11 compare: str12 options:NSCaseInsensitiveSearch];

  NSComparisonResult result4=[str11 compar:str12 options:NSCaseInsensitiveSeach|NSNumericSeach];

  // options后面常用常数

  //NSCaseInsensitiveSearch:不区分大小写

  //NSLiteralSearch:进行完全比较,区分大小写

  //NSNumericSeach:比较字符串的字符个数,而不是字符值

 

  if([str11 isEqualToString : str12]){

  NSLog(@"字符内容相同");

  }

  if(str11==str12){

  NSLog(@"字符串指针相同");

  }

//字符串的查找

//在一个字符串里查找一个字符子串

  NSString* str16=@"abcdef123_fafaf";

  NSRange range1=[str16 rangeOfString:@"ef12"];

  NSLog(@"%@",[NSValue valueWithRange:range1]);

  //返回一个结构体,标记该字符子串的位置

  NSRange range2=[str16 rangeOfString:@"qqqq"];

  NSLog(@"%@",[NSValue valueWithRange:range2]);

  //如果查找不到,返回range的location的值是一个很大的值

  if(range2.location==NSNotFound){

  NSLog(@"在str16里面没有找到qqqq");

  }

//判断字符串开头、结尾

  NSString* str17=@"xxxxx0123.mkv";

  if([str17 hasPrefix:@"xxx"]){

  NSLog(@"str17是以xxx开头");}

  if([str17 hasSuffix:@".mkv"]){

  NSLog(@"str17是以.mkv开头");}

//大小写转换

  NSString *str18=@"etheritusefhjwhq";

//不可变字符串只能把转换后的字符串交给一个新的字符串,自身没有变

  NSString* str19=[str18 uppercaseString];

//字符串的拼接

  NSString* str20=@"abcd";

  NSString* str21=@"efgh";

  NSString* str22=[str20 stringByAppendingString:str21];

//字符串的替换

  NSString *str23=@"My computer";

  //把指定内容替换成其他内容

  NSString *str24=[str23 stringByReplacingOccurrencesOfString:@"computer" withString:@"PC"];

//指定范围的字符串替换成其他内容

  NSString* str25=[str23 stringBuReplacingCharatersInRange:NSMakeRange(0,3) winthString:@"我的"];

  NSLog(@"str25:%@",str25);

//提取、截取

  NSString *str26=@"Canton Fair";

  unichar uc1=[str26 characterAtIndex:3];

  NSLog(@"%c",uc1];

//从字符串中截取某些范围的字符

  NSString* str27=[str26 substringFromIdex:5];//包括第5个字符

  NSString * str28=[str26 substringToIndex:5];//不包括第五个字符

  NSString *str29=[str26 substringWithRange:NSMakeRange(7,4);

//拆分字符串

  NSString *str30=@"300-4555-34-222";

  NSArray* sepon=[str30 componentsSeparatedByString:@"-"];

  NSLog(@"sepon:%@",sepon]);

//可变字符串NSMutebleString

//创建

  NSMutableString *mstr1=[NSMutableString new];

  NSMutableString *mstr2=[[NSMutableString all]initWithFormat:@"%d",12312];

  NSMutableString* mstr3=[NSMubtableString stringWithFormat:mstr2];

  NSMutableString *mstr4=[[NSMutableString alloc]initWithCapacity:5];

//可变字符串是不可变字符串的子类,所以可变字符串可以调用不可变字符串的方法

 

posted on 2015-09-14 10:10  摩羯小伟  阅读(220)  评论(0)    收藏  举报

导航