码迷,mamicode.com
首页 > 其他好文 > 详细

字符串

时间:2014-12-21 21:54:03      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

#define PATH @"/users/yunlong/desktop/file1.rtf"

 

#if 0

// 一.NSString不可变字符串

int main(int argc, const char * argv[]){

 

    @autoreleasepool {

 

//  1.创建字符串对象

        NSString *str = @"hello,WORLD";

        NSString *str1 = [[NSString alloc]initWithString:str];

        NSString *str2 = [[NSString alloc]initWithUTF8String:"hello"];

        NSString *str3 = [[NSString alloc]initWithFormat:@"%@/%@",str,str1];

        NSString *str4 = [[NSString alloc]initWithFormat:@"%d",88];

//        上述四种需要操心内存

        NSString *str5 = [NSString stringWithString:str];

//        C字符串转换成OC字符串

        NSString *str6 = [NSString stringWithUTF8String:"hello"];

//        把C语言字符串转换成OC字符串,并且指定编码方式

        NSString *str7 = [NSString stringWithCString:"hello" encoding:NSUTF8StringEncoding];

        NSString *str8 = [NSString stringWithFormat:@"%d",88];

//        上述str5-8是类方法创建,不需要操心内存

//  2.追加字符串

        NSString *str9 = [str stringByAppendingString:@"world"];

//  3.字符串分割方法

        NSArray *array1 = [str componentsSeparatedByString:@","];

//  4.字符串提取

        unichar c = [str characterAtIndex:2];//提取第i个元素,返回值为unichar

        NSString *str11 = [str substringToIndex:2];//从头提取到索引2(取0.1不含2)

        NSString *str12 = [str substringFromIndex:2];//从索引2提取到结束(含2)

        NSString *str13 = [str substringWithRange:NSMakeRange(1, 2)];//指定范围提取

        

//  5.读取文件的标准格式

        NSString *content1 = [NSString stringWithContentsOfFile:PATH encoding:NSUTF8StringEncoding error:nil];

        NSString *content2 = [[NSString alloc]initWithContentsOfFile:PATH encoding:NSUTF8StringEncoding error:nil];

//  6.比较字符串

        BOOL bl = [str1 isEqualToString:str2];//返回布尔值,相等:1,不相等:0.

        

        NSComparisonResult rec =  [str compare:str1];//返回值为-1 0 1

        /**

         并且可以指定比较规则

         NSCaseInsensitiveSearch 忽略大小写

         NSLiteralSearch         完全比较

         NSBackwardsSearch       从后往前

         */

        rec = [str1 compare:str2 options:NSCaseInsensitiveSearch];

        /**

         typedef NS_ENUM(NSInteger, NSComparisonResult)

            {NSOrderedAscending       升序 st1<st2 返回值-1

            NSOrderedSame             相等 st1=st2 返回值 0

            NSOrderedDescending};     降序 st1>st2 返回值 1

         */

//        常用判断方式

        if(rec == NSOrderedAscending)

        {

            NSLog(@"%@",@"左边小于右边---升序");

        }

        

//  7.不考虑大小写比较字符串

        NSComparisonResult rec1 = [str caseInsensitiveCompare:str2];

        

//  8.大小写转化

        NSString *str14 = [str uppercaseString];//小写转大写

        NSString *str15 = [str lowercaseString];//大写转小写

        NSString *str16 = [str capitalizedString];//单词首字母大写 其余小写,其他字符保持不变

        

//  9.搜索字符串

//        在字符串str中搜索有没有出现过子字符串str1,返回的是第一次出现过的范围

        NSRange range1 = [str rangeOfString:str1];

        NSRange range2 = [str rangeOfString:@"l"];

        //想要判断是否出现过,可以有两种方式

        //1.判断length是否为0

        //2.判断出现的位置

        if(range1.location == NSNotFound)

        {

            NSLog(@"location = %ld",range1.location);

            NSLog(@"length = %ld",range1.length);

        }

//      NSMakeRange(location,length)创建一个range结构体类型

 

//  10.判断前后缀

        BOOL hs = [str hasSuffix:@"LD"];//判断后缀,返回布尔值

        BOOL hp = [str hasPrefix:@"he"];//判断前缀,返回布尔值

        NSLog(@"%d",hp);

//  11.取字符串的长度

        NSUInteger len = [str length];

        NSLog(@"%lu",len);

//  12.字符串转其他类型

        //        注意不要在字符串中包含字符

        NSString *str18 =@"123321";

        int num1 = [str18 intValue];

        float num2 = [str18 floatValue];

        double num3 = [str18 doubleValue];

        BOOL num4 = [str18 boolValue];

        NSLog(@"str18 = %@ num1 = %d",str18,num1);

        NSLog(@"str18 = %@ num1 = %f",str18,num3);

//  13.直接将range转换成字符串

        NSString *str19 =  NSStringFromRange(NSMakeRange(1, 3));

        NSLog(@"%@",str19);

//  14.拷贝

        NSString *str20 = [str copy];

        NSLog(@"%@",str20);

//  15.读网络文件

        NSString *str21 = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.baidu.com/file1.rtf"] encoding:NSUTF8StringEncoding error:nil];

 

   }

    return 0;

}

 

#endif

 

#if 0

// 二.NSMutableSring可变字符串

//          可变仅仅是在不可变的基础上增加了 增 删 改

int main(int argc, const char * argv[]){

    

    @autoreleasepool {

        

//  1.创建字符串

        NSString *str1 = @"hello,WORLD.";

        NSMutableString *str2 = [NSMutableString stringWithString:str1];

//  2.可以实现可变和不可变之间的转换

        NSString *str3 = [NSString stringWithString:str2];

        NSLog(@"%@",str3);

//  3.在可变字符串的末尾增加字符串-------增

        [str2 appendString:@"nihao"];

        NSLog(@"%@",str2);

//  4.在可变字符串的末尾格式化的追加字符串-------增

        [str2 appendFormat:@"%d,%.2f",2014,12.21];

        NSLog(@"%@",str2);

//  5.往可变字符串指定的索引的位置插入一个字符串-------插入

        [str2 insertString:@"ooooooo" atIndex:6];

        NSLog(@"%@",str2);

//  6.删除可变字符串的一段内容-------删

        [str2 deleteCharactersInRange:NSMakeRange(2, 3)];

        NSLog(@"%@",str2);

//  7.用指定的字符串替换可变字符串内指定范围的内容-------替换

        [str2 replaceCharactersInRange:NSMakeRange(2, 3) withString:@"aaaaaaa"];

        NSLog(@"%@",str2);

//  8.直接把字符串设置成某一个内容,可以用来清空字符串-------改---清空

        [str2 setString:@"qq"];

        NSLog(@"%@",str2);

//  9.将OC字符串转为C语言字符串

       const char *cStr = [str2 UTF8String];

        NSLog(@"%s",cStr);

    }

    return 0;

}

#endif

 

字符串

标签:

原文地址:http://www.cnblogs.com/wuyunlong/p/4177057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!