Foundation——字符串
来源:互联网 发布:黑科技网络验证 编辑:程序博客网 时间:2024/04/29 21:57
NSString * str2 = @"ffff";//[[NSString alloc] initWithString:@"ffff"];
NSString * str3 = [NSString stringWithFormat:@"%@,%@",@"a",@"b”];
二.字符串的获取
//1.获取字符串的长度
NSUInteger length = [str length]; //str.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.截取字符串的某一段
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结构体转换成字符串
//NSNotFound 没有找到
if (tmpRange.location == NSNotFound)
{
NSLog(@"tmpStr4 不在 Str3中");
}else
{
NSLog(@"rangeOfString %@",NSStringFromRange(tmpRange));
}
三.字符串的判断
//1.判断字符串是否为空
NSString * str = @"";
if (str == nil || str.length == 0)
{
NSLog(@"字符串为空");
}
//2.判断字符串是否已指定的内容开头
NSString * str2 = @"www.itcast.cn";
BOOL isPerfix = [str2 hasPrefix:@"xww"];
NSLog(@"hasPerfix %@",isPerfix ? @"YES" : @"NO" );
//3.判断字符串是否以指定的内容结尾
//在开发中中常用在 判断文件格式
//.txt .avi,.rmvb mkv doc mp3,mp4 pdf
NSString * str3 = @"www.itcast.cn.txtttt";
BOOL isSuffix = [str3 hasSuffix:@".txt"];
NSLog(@"hasSuffix %@",isSuffix ? @"YES" : @"NO" );
//4.判断两个字符串是否相等
NSString * pstr1 = @"abc";
NSString * pstr2 = @"abc”; //相等
NSString * pstr5 = [NSString stringWithFormat:@"%@",@"abcd”];//与上不等
//内存管理set方法中,判断两个字符串是否相等,一定不能够使用 isEqualToString方法。因为,我们就是要判断两个字符串的指真地址是否相等
//6.compare 是isEqualToString的增强版本
//Ascii值大小 a 小于 b
NSString * strTmp1 = @"abc"; //a 97 b 98
NSString * strTmp2 = @"bbc";
NSComparisonResult result = [strTmp1 compare:strTmp2];
int a = 10;
NSString * str1 = [NSString stringWithFormat:@"%d",a];
//2.float -> NSString
float f = 2.4;
NSString * str3 = [NSString stringWithFormat:@"%.1f",f];
//3.double - >NSstring
double d = 65.9898;
NSString * str4 = [NSString stringWithFormat:@"%.4f",d];
//4.char - > NSString
char c = 'c';
NSString * str5 = [NSString stringWithFormat:@"%c",c];
NSLog(@"str5 %@",str5);
//5.NSString -> int
NSString * str6 = @"1";
int i1 = [str6 intValue];
NSLog(@"i1 %d",i1);
//5.NSString -> float
NSString * str7 = @"9.8";
float f1 = [str7 floatValue];
NSLog(@"f1 %.1f",f1);
//6.NSString -> double
NSString * str8 = @"8.88";
double d1 = [str8 doubleValue];
NSLog(@"d1 %.2f",d1);
//注意:当你要把字符串转换成某种基本数据类型的时候,一定要确定你要转化你的数据是正确
//7.将字符串中的字母转换成大写
NSString * str10 = @"china";
NSString * tmpStr1 = [str10 uppercaseString];
NSLog(@"tmpStr1 %@ str10 %@",tmpStr1,str10);
//8.将字符中的字母转换成小写
NSString * str11 = @"CHINA";
NSString * tmpStr2 = [str11 lowercaseString];
NSLog(@"tmpStr2 %@",tmpStr2);
//9.将首字母大写
NSString * str12 = @"china";
NSString * tmpStr3 = [str12 capitalizedString];
NSLog(@"tmpStr3 %@",tmpStr3);
五.字符串重组
//1.多个数据拼接成一个字符串
int year = 1988;
int month = 4;
int day = 15;
NSString * date = [NSString stringWithFormat:@"%d年%d月%d日",year,month,day];
//2.字符串的末尾追加新的字符
NSString * str1 = @"www.";
NSString * str2 = [str1 stringByAppendingString:@"itcast.cn"];
NSLog(@"str2 %@ str1 %@",str2,str1);
//3.在制定的范围替换字符串
NSString * str3 = @"www.cn";
NSRange range = {4,0};//0相当于直接插入
// 4 location代表的时从哪个索引开始插入,length 代表的意思可以覆盖几个字符
NSString * str4 = [str3 stringByReplacingCharactersInRange:range withString:@"itcast."];
//4.使用新的字符,替换原有的字符串(a替换成b)
NSString * str5 = @"www.itcast.cn";
NSString * str6 = [str5 stringByReplacingOccurrencesOfString:@"w" withString:@"a"];
//5.在字符串中删除特定的某些字符 胡汉三 hhs
NSString * str7 = @"www---.itcatst.--cn";
NSString * str8 = [str7 stringByReplacingOccurrencesOfString:@"-" withString:@""];
//6.去掉字符串中的空格
NSString * str9 = @"www .itcat .cn";
NSString * str10 = [str9 stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"str10 %@",str10);
六.字符串写入文件
//将字符串写入到文件
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);
}
七.从文件中读取字符串内容
//要给出文件路径
//你写入文件的时候,使用的是什么编码格式,读取的时候就要给我用什么编码格式
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);
}
一.创建可变字符串
//NSMutableString(相当于char []) 继承自 NSString(char*)
NSMutableString * muStr = [[NSMutableString alloc] init];
//是初始化字符串内容
[muStr setString:@"www"];
//动态的给字符串末尾追加新值
[muStr appendString:@".cn"];
//插入字符串到指定的索引位置
[muStr insertString:@".itcast" atIndex:3];
//删除指定范围的字符串
[muStr deleteCharactersInRange:range];
//替换指定范围的字符串
[muStr replaceCharactersInRange:range withString:@"传智播客"];
- Foundation——字符串
- Foundation——字符串
- Foundation——字符串
- Foundation框架—字符串
- Foundation框架—字符串
- Foundation框架—字符串
- Foundation框架—字符串
- Foundation框架—字符串
- Objective-C Foundation——字符串
- IOS学习之Foundation框架—字符串
- Foundation框架—字符串NSString 和 NSMutableString
- 黑马程序员——Foundation框架—字符串方法
- 黑马程序员——Foundation框架:字符串之集合类
- 黑马程序员——Foundation框架结构体、字符串、数组
- ObjectC语言基础2—Foundation、结构体、字符串、集合
- Foundation框架(2)——读取文件中的字符串、把字符串写入文件中
- Foundation——集合
- Foundation——NSSet
- hdu1162Eddy's picture——最小生成树
- SGI114 Telecasting station
- Codeforces Round #303 (Div. 2) E. Paths and Trees
- qt的关于编译条件的一些定义问题
- Error:Execution failed for task ':app:dexUmengDebug'. > com.android.ide.common.process.ProcessExcept
- Foundation——字符串
- Linux 下修改主机名称
- 【爬虫】爬取百度搜索结果页面
- Ubuntu 14.04.1 for ROS(indigo) by ExBot iso 发行版
- 百度2013年计算机视觉算法研发工程师笔试题
- Foundation——文件操作
- Red Hat Enterprise Linux 5中安装交叉编译工具arm-linux-gcc-4.3.2.tgz
- od常用断点大全
- iOS:时间格式串的意义