OC-NSString

//

//  main.m

//  NSString_new

//

//  Created by qianfeng on 14-11-9.

//  Copyright (c) 2014年 qianfeng. All rights reserved.

//


#import <Foundation/Foundation.h>

//字符串在OC中采用的时UTF8编码,(还有UTF16、32)都是在Unicode上发展来的

//"汉子"这两个汉字在UTF8中占用6字节。(每个单独的“符号”不超过四个字节)

//Unicode(万国码),兼容各国文字符号

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

    

    @autoreleasepool {

        // insert code here...

        NSLog(@"Hello, World!");

        //OC完全兼容C的语法

        NSString *str1 = @"you are good";

        

        //通过str1初始化str2;

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

        

        //通过C的字符串初始化str3,将C的字符串,转化为OC的字符串对象

        NSString *str3 = [[NSString alloc] initWithUTF8String:"you are SB"];

        NSString *str4 = [[NSString alloc] initWithFormat:@"you are %c%c",'S','B'];

        

        //使用格式符结成一个字符串,临时字符串,不清楚什么时候释放所以也不便于操作,

        NSString *str5 = [NSString stringWithUTF8String:"you are good man!"];

        NSString *str6 = [NSString stringWithFormat:@"you are %c %c",'S','B'];

        NSLog(@"str2 = %@\n",str2);

        NSLog(@"str3 = %@\n",str3);

        NSLog(@"str4 = %@\n",str4);

        NSLog(@"str5 = %@\n",str5);

        NSLog(@"str6 = %@\n",str6);

        //比较两个字符串是否相同 返回值只有两个:0或者1

        BOOL ret = [str3 isEqualToString:str4];

        

        //比较两个字符串的大小:返回值:-1、0、1

        int biger = [str3 compare:str2];

        NSLog(@"biger = %d\n",biger);

        

        //大小写比较大小,

        //NSCompareisonResult:

        BOOL isnot = [str3 caseInsensitiveCompare:str2];

        NSLog(@"isnot = %i",isnot);

        

        //查找一个字符串在另一字符串中的位置:

        NSString * str = @"SB";

        NSRange rang = [str3 rangeOfString:str];

        //length表示str的长度,location的位置是从0开始,到第一个相同字符的位置

        NSLog(@"length = %lu location = %lu\n",rang.length,rang.location);

        

        //提取字符串:从头提取,n个字符;

        NSString * str7 = @"123456789";

        NSString * str8 = [str7 substringToIndex:6];

        NSLog(@"str7 = %@\n",str7);

        NSLog(@"str8 = %@\n",str8);

        

        //提取字符串:从位置a提取到结尾,

        NSString * str9 = [str7 substringFromIndex:6];

        NSLog(@"str9 = %@\n",str9);

        

        //通过NSRang(结构体)值来提取字符串,从“location”提取“length”个字符

        NSRange ran = {2,4};

        NSString *str10 = [str7 substringWithRange:ran];

        NSLog(@"str10 = %@\n",str10);

        //直接创建NSRang值:

        NSString *str11 = [str7 substringWithRange:NSMakeRange(2, 4)];

        NSLog(@"str10 = %@\n",str11);

        

        //初始化:

        NSString *struft8 = [[NSString alloc] initWithUTF8String:"youera"];

        NSLog(@"struft8 = %@\n",struft8);

        

        NSString *strC = [[NSString alloc] initWithCString:"you arefd "  encoding: 4];

        NSLog(@"strc = %@",strC);

        

        NSString *str12 = [NSString stringWithString:strC];

        NSLog(@"str12 = %@",str12);

        

        NSString *str13 = [NSString stringWithUTF8String:"dsfaf"];

        NSLog(@"str13 = %@",str13);

        

        NSString *str14 = [NSString stringWithFormat:@"%s","sdfdf"];

        NSLog(@"str14 = %@",str14);

        

        NSString *str15 = [NSString stringWithCString:"adjofijadojf" encoding:4];

        NSLog(@"str15 = %@",str15);

        

        //追加字符串:

        NSString *str16 = @" ";

        str16 = [str16 stringByAppendingString:@"youyou"];

        NSLog(@"str16 = %@",str16);

        

        //获取字符串中的字符:

        unichar ch = [str15 characterAtIndex:2];

        NSLog(@"ch = %C",ch);

        

        int len = (int)[str15 length];

        NSLog(@"len = %i",len);

        //查找前缀,(从第一个字符开始,到需要比较的字符串结尾结束比较是否被包含)

        BOOL isin = [str15 hasPrefix:@"a"];

        NSLog(@"isin = %i",isin);

        //查找后缀,(从最后一位往前比较,

        BOOL onin = [str15 hasSuffix:@"not"];

        NSLog(@"onin = %i",onin);

        //nsstring转化为C字符,

        const char* strch = [str16 UTF8String];

        NSLog(@"strch = %s",strch);

        //大小写转换,

        //小写转大写

        str16 = [str16 uppercaseString];

        NSLog(@"str16 = %@",str16);

        //大写转小写

        str16 = [str16 lowercaseString];

        //

        //

        NSLog(@"str16 = %@",str16);

        str16 = [str16 capitalizedString];

        NSLog(@"str16 = %@",str16);

//        

/*

        //可变字符串:NSMutableString,方法:增删改查的功能

        //NSMutableString *canot = @"不可变字符串";

        NSMutableString *string = [[NSMutableString alloc]init];

        [string setString:@"123456"];

        NSLog(@"string = %@\n",string);

        

        //在后面插入“string”--用来追加字符串

        [string appendString:@"string"];

        NSLog(@"string = %@\n",string);

        

        //在后面插入“format”,--用来追加格式符

        [string appendFormat:@"%s%d","format",4];

        NSLog(@"string = %@\n",string);

        

        //在第6个元素(下标为5元素)之后插入“insert”

        [string insertString:@"inser" atIndex:6];

        NSLog(@"string = %@\n",string);

        //复合使用:

        [string insertString:[NSString stringWithFormat:@"%c",'a'] atIndex:2];

        NSLog(@"string = %@\n",string);

        

        //删除:从a删除n个字符

        [string deleteCharactersInRange:NSMakeRange(3, 4)];

        NSLog(@"string = %@\n",string);

        

        //替换操作:使用指定的字符串替换掉指定的元素,用来替换的字符串与被替换的元素的个数无关。

        [string replaceCharactersInRange:NSMakeRange(2, 3) withString:@" good "];

        NSLog(@"string = %@\n",string);

        NSString *cstr = [[NSString alloc] init];

        cstr =  [string copy];

        NSLog(@"cstr:%@",cstr);

        

        //4.2之后的内存释放是自动的?

        */

    }

    return 0;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值