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);

        }

 

posted @ 2015-12-16 16:25  爆发的小子弹  阅读(134)  评论(0编辑  收藏  举报