//NSString不可变字符串类型
NSString*str0=@"IOS";
//1,创建字符串的方法
//(1)实例方法
NSString* str1=[[NSString alloc]initWithFormat:@"IOS"];
//
NSString*str2=[[NSString alloc]initWithFormat:@"ios:%d",12];
NSString*str3=[[NSString alloc]initWithString:str0];
NSLog(@"str1:%@ str2:%@ str3:%@",str1,str2,str3);
//(2),类方法
NSString*str4=[NSString stringWithFormat:@"iii"];
NSString*str5=[NSString stringWithFormat:@"ios:%d",90];
NSString*str6=[NSString stringWithString:str4];
NSLog(@"str4:%@ str5:%@ str6%@",str4,str5,str6);
//字符串操作
//(1),统计长度
NSString*str=[NSString stringWithFormat:@"342435"];
NSInteger changdu=[str length];
NSLog(@"length:%lu",changdu);
//(2),索引提取(字符串截取)
NSString*str=@"123456789";
NSString*substr1=[str substringFromIndex:3];//456789
NSLog(@"%@",substr1);
NSString*substr2=[str substringToIndex:3];//123
NSLog(@"%@",substr2);
NSRange range=NSMakeRange(3, 4);//4567从序号3开始截取4个
NSString*substr3=[str substringWithRange:range];
NSLog(@"%@",substr3);
//(3),比较
NSString*str1=[[NSString alloc]initWithFormat:@"IoS"];
NSString*str2=[[NSString alloc]initWithFormat:@"ios"];
BOOL mybool=[str1 isEqualToString:str2];
NSLog(@"mybool is:%d",mybool);
if ([str1 compare:str2]==NSOrderedSame) {
NSLog(@"1111");
}else if ([str1 compare:str2]==NSOrderedAscending){
NSLog(@"2222");//表示str1大于str2
}else {
NSLog(@"3333");
}
if ([str1 caseInsensitiveCompare:str2]==NSOrderedAscending) {
NSLog(@"str1<str2");
}else if([str1 caseInsensitiveCompare:str2]==NSOrderedDescending){
NSLog(@"str1>str2");
}else{
NSLog(@"==");//不区分大小写~~~~~~~~~~~~
}
//(4)字符串查找
NSString*str=[[NSString alloc]initWithFormat:@"哎呦不错哦"];
NSString*substr=[[NSString alloc]initWithFormat:@"错"];
NSRange range=[str rangeOfString:substr];
if (range.location!=NSNotFound) {
NSLog(@"%lu,%lu",(unsigned long)range.location,range.length);
}else{
NSLog(@"没找到");
}
//(5)判断前后缀(2种)
NSString*str1=[[NSString alloc]initWithFormat:@"Frankaddhouse"];
if ([str1 hasPrefix:@"Fr"]) {
NSLog(@"前缀是Fr哦");
}else{
NSLog(@"No");
}
if ([str1 hasSuffix:@"se"]) {
NSLog(@"后缀是se哦");
}else{
NSLog(@"No");
}
//(6),转换数字(4种)
NSString*str_int=@"2323";
int strNumber=[str_int intValue];
NSLog(@"%i",strNumber);
//(7),大小写转化(3种)
NSString*str1=@"hello world";
NSString*str2=[str1 uppercaseString];//小写变大写
NSLog(@"str after up is:%@",str2);
NSString*str3=[str2 lowercaseString];//大写变小写
NSLog(@"str after lower is:%@",str3);
NSString*str4=[str3 capitalizedString];//首字母大写,其他字母小写
NSLog(@"str after up is:%@",str4);
//(8)字符串提取和NSRange
NSString*str=@"123456789";
NSRange range=NSMakeRange(3, 4);
NSString*substr=[str substringWithRange:range];
NSLog(@"%@",substr);
//(9),从本地读取文件内容
NSString*path=[[NSString alloc]initWithContentsOfFile:@"/Users/Jessee/Desktop/heheda.c" encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",path);
可变字符串::::::::::::::::::::::::
//可变字符串 : 不可变字符串
//可变字符串是不可变字符串的子类
//1,创建可变字符串(mutable可变的)
//表示创建了一个“长度”为10的可变字符串。
//“长度”表是让编译器先分配给字符串多大内存
NSMutableString*str=[[NSMutableString alloc]initWithCapacity:10];
str=[NSMutableString stringWithFormat:@"1234567890987654321"];
NSLog(@"%@",str);
//2,可变字符串的操作
//(1,增)
NSMutableString *str1=[[NSMutableString alloc]initWithFormat:@"12345"];
//添加字符串,从内存上,根本的改变了这个字符串
[str1 appendString:@"67890"];
[str1 appendFormat:@"JQKA"];
NSLog(@"%@",str1);
[str1 insertString:@"王炸" atIndex:14];
NSLog(@"%@",str1);
//(2,删)
NSMutableString *str=[[NSMutableString alloc]initWithFormat:@"123456"];
NSRange range=NSMakeRange(3, 2);
[str deleteCharactersInRange:range];//可以删除可变字符串中的某一段
NSLog(@"%@",str);
//(3,改)
NSMutableString *str=[[NSMutableString alloc]initWithFormat:@"123456"];
NSRange range=NSMakeRange(3, 2);
[str replaceCharactersInRange:range withString:@"qq"];
NSLog(@"%@",str);
(4,查)
注释:参见不可变字符串