oc-NSString
1.字符串NSString
1.1字符串的获取
//1.获取字符串的长度
NSString * str = @"abcd";
NSUInteger length = [str length]; //str.length;
NSLog(@"字符串长度 %lu",length);
//2.根据索引获得单个字符
NSString * str2 = @"www.itcast.cn";
//如果你给定的索引值,超出了字符串的长度,就会导致异常Range or index out of bounds
//如果你给入的是一个负数那么获得的值就是一个乱码
unichar c = [str2 characterAtIndex:2];//索引值是从 0 开始的
NSLog(@"获得字符 %c",c);
//3.根据索引获得字符串的一个子串
NSString * str3 = @"www.itcast.com";
//substringFromIndex 从给定的索引开始(包含该索引位置)截取到字符串末尾
NSString * tmpStr = [str3 substringFromIndex:3];
NSLog(@"substringFromIndex %@ ",tmpStr);
//substringToIndex截取字符串到给定索引的位置结束,(不包含该索引位置);qishisuo
NSString * tmpStr2 = [str3 substringToIndex:3];
NSLog(@"substringToIndex %@",tmpStr2);
NSLog(@"str3 %@",str3);
//4.截取字符串的某一段/Volumes/aplle/Desktop/共享课堂/0320/代码/01-NSString类/01-NSString类.xcodeproj
NSRange rang = {4,6};
//location (起始索引的位置,包含该索引) length(要截取的长度)
NSString * tmpStr3 = [str3 substringWithRange:rang];
NSLog(@"substringWithRange %@",tmpStr3);
//5.获得一个字符串的索引位置
NSString * tmpStr4 = @"it";//@"itcast";
NSRange tmpRange = [str3 rangeOfString:tmpStr4];
//可以使用NSStringFromRange 把一个Range结构体转换成字符串
// NSLog(@"location = %d,length = %d",tmpRange.location,tmpRange.length);
//NSNotFound 没有找到
if (tmpRange.location == NSNotFound)
{
NSLog(@"tmpStr4 不在 Str3中");
}else
{
NSLog(@"rangeOfString %@",NSStringFromRange(tmpRange));
}
2.字符串的判断
2.1
//2.1判断字符串是否已指定的内容开头
NSString * str2 = @"www.itcast.cn";
BOOL isPerfix = [str2 hasPrefix:@"xww"];
NSLog(@"hasPerfix %@",isPerfix ? @"YES" : @"NO" );
//2.2判断字符串是否以指定的内容结尾
//在开发中中常用在 判断文件格式 ***
//.txt .avi,.rmvb mkv doc mp3,mp4 pdf
NSString * str3 = @"www.itcast.cn.txtttt";
BOOL isSuffix = [str3 hasSuffix:@".txt"];
NSLog(@"hasSuffix %@",isSuffix ? @"YES" : @"NO" );
//2.3 判断两个字符串是否相等
基本的有两种方法 一个是 == 另外一个是 isEqualtoString
而 == 只是比较两个字符串的地址 是否相等
isEqualtoString 不仅比较两个字符串的地址是否相等,而且还比较两者字符串里面的内容是否相等 所以
在实际的开发中,切记不要使用== 号去判断两个字符串是否相等,判断两个字符串是否相等,必须使用NSString提供给我们的方法isEqualToString //abc
3.字符串的大小写
//3.1 将字符串中的字母转换成大写
NSString * str10 = @"china";
NSString * tmpStr1 = [str10 uppercaseString];
NSLog(@"tmpStr1 %@ str10 %@",tmpStr1,str10);
//3.2 将字符中的字母转换成小写
NSString * str11 = @"CHINA";
NSString * tmpStr2 = [str11 lowercaseString];
NSLog(@"tmpStr2 %@",tmpStr2);
//3.3 将首字母大写
NSString * str12 = @"china";
NSString * tmpStr3 = [str12 capitalizedString];
NSLog(@"tmpStr3 %@",tmpStr3);
4.字符串的重组
//1.多个数据拼接成一个字符串
int year = 1988;
int month = 4;
int day = 15;
NSString * date = [NSString stringWithFormat:@"%d年%d月%d日",year,month,day];
NSLog(@"date %@",date);
NSString * address = @"昌平区,金燕龙";
NSString * dateAndAddrss = [NSString stringWithFormat:@"%@地址:%@",date,address];
NSLog(@"dateAndAddress %@",dateAndAddrss);
//2.字符串的末尾追加新的字符
NSString * str1 = @"www.";
NSString * str2 = [str1 stringByAppendingString:@"itcast.cn"];
NSLog(@"str2 %@ str1 %@",str2,str1);
//3.在制定的范围追加字符串
NSString * str3 = @"www.cn";
NSRange range = {4,0};
// 4 location代表的时从哪个索引开始插入,length 代表的意思可以覆盖几个字符
NSString * str4 = [str3 stringByReplacingCharactersInRange:range withString:@"itcast."];
NSLog(@"str4 %@",str4);
//4.使用新的字符,替换原有的字符
NSString * str5 = @"www.itcast.cn";
NSString * str6 = [str5 stringByReplacingOccurrencesOfString:@"w" withString:@"a"];
NSLog(@"str6 %@",str6);
//5.在字符串中删除特定的某些字符 胡汉三 hhs
NSString * str7 = @"www---.itcatst.--cn";
NSString * str8 = [str7 stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"str8 %@",str8);
//6.去掉字符串中的空格
NSString * str9 = @"www .itcat .cn";
NSString * str10 = [str9 stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"str10 %@",str10);
5.将字符串写入文件当中
//将字符串写入到文件
NSString * content = @"浙江冰雹,如汤圆大小";
NSString * path = @"/Users/aplle/Desktop/共享课堂/mytest.txt";
//1.参数1 要给入文件目录(并且要包括文件名称)
//2.atomically : YES
//3.NSUTF8StringEncoding 国际通用的编码格式
//4.NSError 是用来记录错误信息的
NSError * error;
BOOL isWriteSuccess = [content writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
if(isWriteSuccess)
{
NSLog(@"文件创建成功");
}
else
{
NSLog(@"error %@",error);
}
6.从文件中读取字符串
//要给出文件路径
//你写入文件的时候,使用的是什么编码格式,读取的时候就要给我用什么编码格式
NSString * path = @"/Users/aplle/Desktop/共享课堂/mytest.txt";
NSError * error;
NSString * str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if (error != nil)
{
NSLog(@"error message %@",error);
}
else
{
NSLog(@"str content %@",str);
}