------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
NSSstring的使用
1.字符串对象常量的定义和输出
定义了一个字符串指针,指向字符串常量
char *str="hello world";
@"hello world"oc中的字符串常量
本质:字符串对象
NSString *str=@"hello world";
输出一个对象
oc中任意对象都使用%@输出
NSLog(@"str=%@",str);
char *str="hello world";
@"hello world"oc中的字符串常量
本质:字符串对象
NSString *str=@"hello world";
输出一个对象
oc中任意对象都使用%@输出
NSLog(@"str=%@",str);
2.创建字符串对象 alloc+init形式创建
从c的字符串去创建一个字符串对象
NSString *str2=[[NSString alloc] initWithUTF8String:"tian qi bu cuo"];
NSLog(@"str2=%@",str2);
从其他数据生成字符串对象
生成一个字符串“张三 20 B”
int age=20;
int sex='B';
NSString *str3=[[NSString alloc]initWithFormat:@"zhangsan %d %c",age,sex];
NSLog(@"str3=%@",str3);
从另外一个字符串对象创建对象
NSString *str4=[[NSString alloc]initWithString:str3];
NSLog(@"str4=%@",str4);
附加:写答题系统题的时候,输入一个字符串,使用NSString处理,先定义一个字符数组
char buf[256]={};
scanf("%s",buf);
NSString *input=[[NSString alloc]initWithUTF8String:buf];
NSLog(@"input = %@",input);
附加2:类方法创建字符串对象
NSString *str5=[[NSString alloc] initWithUTF8String:"hello"];
NSLog(@"str5=%@",str5);
NSString *str6=[[NSString alloc]initWithFormat:@"%d",100];
NSLog(@"str6=%@",str6);
NSString *str7=[[NSString alloc]initWithString:str6];
NSLog(@"str7=%@",str7);
3.计算长度
NSString *str8=@"88888";
long len=[str8 length];
NSLog(@"len=%ld",len);
4.比较字符串(判断相等和比较)
NSString *str9=@"88888";
//判断str8是否和str9相等
BOOL b;
b=[str9 isEqualToString:str8];
//判断一个BOOL值是否为真的时候
if(b) //正确的形式
{
NSLog(@"字符串相等");
}
// BOOL l类型
// 窗口是否移动,是否显示。。。
// 方法,执行成功,执行失败;
// bool存放两种值(真yes假no)
NSString *str10=@"helloB";
NSString *str11=@"helloA";
//前面的字符串比较后面的字符串
//r=-1 前面小 r=1前面大 r=0相等
int r=[str10 compare:str11];
NSLog(@"r=%d",r);
5.查找子串
// 5.查找子串
NSString *str12=@"hello world";
//NSString *str13=@"wor";
//@"hello world"中查找@“wor”字符串的位置
NSRange range=[str12 rangeOfString:@"wor"];
NSLog(@"location=%lu,length=%lu",range.location,range.length);
if (range.location!=NSNotFound) {
NSLog(@"找到了");
}
6.提取字符和字符串
// 6.提取字符和字符串
NSString *str13=@"心比tian高,命比zhi薄";
//提取其中的某个字符第一个字符,和第三个字符
//为了支持返回汉字,返回值类型nuichar类型
//unichar 类型的字符用%C输出
unichar c = [str13 characterAtIndex:0];
NSLog(@"c = %C",c);
//如何提取某个范围内的字符串,提取tian
NSRange subRange={2,4};
NSString *sub1=[str13 substringWithRange:subRange];
NSLog(@"sub1=%@",sub1);
//提取从index下标开始,一直到结尾的字符串
NSString *sub2=[str13 substringFromIndex:2];
NSLog(@"sub2=%@",sub2);
//从头开始提取,提取到指定的下标位置
NSString *sub3=[str13 substringToIndex:5];
NSLog(@"sub3=%@",sub3);
7.转换
// 7.转换
NSString *str14=@"12345我爱吃土豆";
int num=[str14 intValue];
NSLog(@"str14=%d",num);
//类似的方法是floatValue doubleVlaue boolValue
//需求;从字符串对象获取c格式的字符串
NSString *mayiliSay=@"na shen me zheng jiu ni,my lover";
const char *utfstr=[mayiliSay UTF8String];
NSLog(@"utfstr=%s",utfstr);
8.从文件生成字符串
// 8.从文件生成字符串
// 文件路径: /Users/apple/Desktop/dict.txt
NSString *filePath=@"/Users/apple/Desktop/dict.txt";
//nil oc中的空指针
//效果:filePath文件的内容存到fileContent
NSString *fileContent=[[NSString alloc]initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"fileContent = %@",fileContent);
9.字符串的分割和合并(使用另外一个字符串分割)
NSString *str=@"xian kan ting qian hua kai hua luo";
NSArray *array=[str componentsSeparatedByString:@" "];
NSLog(@"array=%@",array);
// <1>字符串的分割(使用字符集合分割)
//分割出名字,年龄,性别,体重
//分隔符:“;,”
NSString *str2=@"zhangsan:188,B,120";
array = [str2 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@":,"]];
NSLog(@"array=%@",array);
//<2>数组合并为一个字符串
NSString *comString=[array componentsJoinedByString:@"-"];
NSLog(@"comString = %@",comString);
NSMutableString可变字符串类
NSMutableString继承NSString的
继承:如果一个类继承了另外一个类,它会拥有这个类的所以方法
NSMutableString类拥有NSString这个类的所以方法
继承:如果一个类继承了另外一个类,它会拥有这个类的所以方法
NSMutableString类拥有NSString这个类的所以方法
创建对象
1.创建的就是空字符串
NSMutableString *mstr = [NSMutableString alloc]init;
NSMutableString *mstr = [[NSMutableString alloc]initWithUTF8String:"text"];
NSLog(@"mstr=%@",mstr);
}
return 0;
}
2.复制(设置字符串)
复制(设置字符串)---努力拼搏
相当于strcpy
[mstr setString:@"努力拼搏"];
NSLog(@"mstr=%@",mstr);
3.链接
(附加)上一个字符串的后面加上:不是吗?
[mstr appendString:@",不是吗"];
NSLog(@"mstr=%@",mstr);
4.插入
[mstr insertString:@"难道" atIndex:5];
NSLog(@"mstr=%@",mstr);
5.删除
定义删除范围
NSRange range={7,1};
[mstr deleteCharactersInRange:range];
NSLog(@"mstr=%@",mstr);
6.替换
NSMutableString *mstr2=[[NSMutableString alloc]initWithUTF8String:"睡觉容易,睡醒困难,且睡且珍惜"];
[mstr replaceCharactersInRange: withString:]
NSRange replaceRange={0,[mstr2 length]};
[mstr2 replaceOccurrencesOfString:@"睡" withString:@"等" options:NSLiteralSearch range:replaceRange];
NSLog(@"mstr2=%@",mstr2);
1.创建的就是空字符串
NSMutableString *mstr = [NSMutableString alloc]init;
NSMutableString *mstr = [[NSMutableString alloc]initWithUTF8String:"text"];
NSLog(@"mstr=%@",mstr);
}
return 0;
}
2.复制(设置字符串)
复制(设置字符串)---努力拼搏
相当于strcpy
[mstr setString:@"努力拼搏"];
NSLog(@"mstr=%@",mstr);
3.链接
(附加)上一个字符串的后面加上:不是吗?
[mstr appendString:@",不是吗"];
NSLog(@"mstr=%@",mstr);
4.插入
[mstr insertString:@"难道" atIndex:5];
NSLog(@"mstr=%@",mstr);
5.删除
定义删除范围
NSRange range={7,1};
[mstr deleteCharactersInRange:range];
NSLog(@"mstr=%@",mstr);
6.替换
NSMutableString *mstr2=[[NSMutableString alloc]initWithUTF8String:"睡觉容易,睡醒困难,且睡且珍惜"];
[mstr replaceCharactersInRange: withString:]
NSRange replaceRange={0,[mstr2 length]};
[mstr2 replaceOccurrencesOfString:@"睡" withString:@"等" options:NSLiteralSearch range:replaceRange];
NSLog(@"mstr2=%@",mstr2);