一.NSString(创建,和常用方法)
/*****使用类方法创建字符串(常用)*******/
//创建常用字符串,字符串存储在内存常量区
NSString *constantString=@"We are family";
NSLog(@"%@",constantString);
//创建一个空的可变字符,永远为空
NSString*string1=[NSString string];
NSLog(@"%@",string1);
//用C字符串创建OC对象
//encoding:表示字符的编码格式(凡是可能用到中文都用NSUTF8StringEncoding)
NSString*string2=[NSString stringWithCString:"123dffggrg3" encoding:NSUTF8StringEncoding];
NSLog(@"%@",string2);
//同上
NSString*string3=[NSString stringWithUTF8String:"122313bljl"];
NSLog(@"%@",string3);
//使用格式化字符串方式创建字符串
NSString*string4=[NSString stringWithFormat:@"8oswbdc"];
NSLog(@"%@",string4);
//将OC字符串转化为C字符串(注意用C字符串输出必须是%S)
const char*cString=[string4 UTF8String];
NSLog(@"%s",cString);
2.创建,使用对象方法
/*****适用对象方法创建字符串(常用)******/
//创建一个空的不可变字符
NSString*objStr1=[[NSString alloc]init];
NSLog(@"%@",objStr1);
//用C字符串创建OC字符串对象
NSString*objStr2=[[NSString alloc]initWithCString:"duhwyrw" encoding:NSUTF8StringEncoding];
NSLog(@"%@",objStr2);
//同上
NSString*objStr3=[[NSString alloc]initWithUTF8String:"juowhdw"];
NSLog(@"%@",objStr3);
//使用格式化字符串方式创建OC字符串对象
NSString*objStr4=[[NSString alloc]initWithFormat:@"khikbcfskdva;"];
NSLog(@"%@",objStr4);
二.常用方法
// 获取字符串长度%h short
// %d int 有符号整数 -32767 到 32768
// %u unsigned int 无符号整数 0 到 65565
// %l long int 有符号长整形
// %lu unsigned long 无符号长整形
// %ll long long int
// %llu unsigned long long [c99]
NSString*str=@"ncdkis";
NSLog(@"%lu",str.length);
//获得制定索引位置的字符串
NSString*str1=@"We are family!";
unichar c=[str1 characterAtIndex:0];
NSLog(@"%c",c);
//比较字符串是否相等,返回值为枚举型,—1表示升序排序,0表示相等,1表示降序排序
NSComparisonResult result=[str1 compare:str];
NSLog(@"%ld",result);
//比较是否相等,返回值为BOOL型,YES和NO(注意不能用==)
if (![str isEqualToString:str1]) {
NSLog(@"不相等");
}else{
NSLog(@"相等");
}
//获得从指定索引位置开始的字符串,包括参数位置的字符
NSLog(@"%@",[str1 substringFromIndex:3]);
//获得从开始到指定索引之间的字符串,不包括参数的位置的字符
NSLog(@"%@",[str1 substringToIndex:3]);
//将字符串每个单词的首字母换成大写,其他字符换成小写
NSLog(@"%@",str.capitalizedString);
//判断字符串是否以指定字符结尾(返回值是0和1)
NSString*str4=@"huoo.txt";
NSLog(@"%d",[str4 hasSuffix:@"txt"]);
//判断字符串是否包含另一个字符串(返回值是0和1)
NSLog(@"%d",[str4 containsString:@"hu"]);
//将原有字符串,拼接一部分字符串,形成一个新的字符串
NSString*str5=[str4 stringByAppendingString:@"hug"];
NSLog(@"%@",str5);
//将字符串写入文件,Path为文件路径,返回值为BOOL型
NSString*str6=@"ddoshcfosd";
NSError*err=nil;
BOOL isWriteSuccess=[str6 writeToFile:@"桌面/file.txt"atomically:YES encoding:NSUTF8StringEncoding error:&err];
if (isWriteSuccess) {
NSLog(@"写入成功!");
}
//从文件中读取
str6=[NSString stringWithContentsOfFile:@"桌面/file.txt" encoding:NSUTF8StringEncoding error:&err];
//字符穿的转换为整型
int a=[@"133" intValue];
NSLog(@"%d",a);
二.NSMutableString(创建,和常用方法)
// 1,initWithCapacity:10 并不代表里面的object数量不能大于10.也可以大于10.
// 2,init是在告诉程序,“我不知道要放多少object,暂且帮我初始化”。
// 3,如果你知道大概要放多少东西,那么最好用initWithCapacity,这个会提高程序内存运用效率。
// 4,如果你初始化了NSMutableDictionary,并且很长时间不会用到,建议用initWithCapacity:0
//设置字符串的初始容量,后续会因为使用而不断扩充或缩小,所以初始容量的值可以任意设
NSMutableString*muStr1=[NSMutableString stringWithCapacity:0];
//对象方法,实质一样
// NSMutableString*muStr2=[[NSMutableString alloc]initWithCapacity:0];
//初始化字符串内容,如果字符串有了内容,就替换其内容
[muStr1 setString:@"hello"];
NSLog(@"%@",muStr1);
//在原字符串上拼接内容
[muStr1 appendString:@"world"];
NSLog(@"%@",muStr1);
//格式化字符串的方式追加内容(注意灵活运用)
[muStr1 appendFormat:@"hkhkbl.%@",@"jack"];
NSLog(@"%@",muStr1);
//创建一个范围,取值为字符串中淄川hkb的range
NSRange range=[muStr1 rangeOfString:@"hkb"];
//替换指定范围的内容
[muStr1 replaceCharactersInRange:range withString:@"hkgkk"];
NSLog(@"%@",muStr1);
//删除指定内容
[muStr1 deleteCharactersInRange:range];
NSLog(@"%@",muStr1);
//在指定索引插入内容
[muStr1 insertString:@"大家好" atIndex:7];
NSLog(@"%@",muStr1);