不可变字符串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];
//可变字符串是不可变字符串的子类,所以可变字符串可以调用不可变字符串的方法