OC之NSString2

//

//  main.m

//  0810OCNSString

//

//  Created by weibiao on 15-8-10.

//  Copyright (c) 2015 weibiao. All rights reserved.

//


#import <Foundation/Foundation.h>


//字符串操作

void test1(){

    char *str1 = "C string";//这是C语言创建的字符串

    NSString *str2 =@"OC string";//Objc字符串需要加@,并且这种方式创建的对象不需要自己释放内存

    //下面的创建方法都应该释放内存

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

    str3 = @"OC string";

    NSString *str4 = [[NSString alloc] initWithString:@"objective-c string"];

    NSString *str5 = [[NSString alloc] initWithFormat:@"age is %i,name is %.2f",19,1.72f];

    NSString *str6 = [[NSString alloc] initWithUTF8String:"C string"];//c语言的字符串转换为objc字符串

    

    //以上方法都有对应的静态方法(一般以string开头),不需要管理内存(系统静态方法一般都是自动释放)

    NSString *str7 = [NSString stringWithString:@"objective-c string"];

   

}


void test2(){

    NSLog(@"\"hello world!\" to upper is %@",[@"hello world!" uppercaseString]);//结果:以大写输出

    NSLog(@"\"HELLO WORLD!\" to lower is %@",[@"HELLO WORLD!" lowercaseString]);//小写输出

    

    //首字母大写,其他字母小写

    NSLog(@"\"Hello world!\" to capitalize is %@",[@"Hello world!" capitalizedString]);

    

    BOOL result = [@"abc" isEqualTo:@"aBc"];

    NSLog(@"%i",result);//结果:0

    

    NSComparisonResult result2 = [@"abc" compare:@"aBc"];//如果是[@"abc" caseInsensitiveCompare@"aBc"]则忽略大小写比较

    if (result2==NSOrderedAscending){

        NSLog(@"left<right.");

    }

    else if (result2==NSOrderedDescending){

        NSLog(@"left>right.");

    }

    else if (result2==NSOrderedSame){

        NSLog(@"left=right.");

    }

    //结果:left>right.

    

}


void test3(){

    NSLog(@"has prefix ab? %i",[@"abcdef" hasPrefix:@"ab"]);

    //结果:has prefix ab 1

    NSLog(@"has suffix ab? %i",[@"abcdef" hasSuffix:@"ef"]);

    //结果:has suffix ab 1

    NSRange range = [@"abcdefabcdef" rangeOfString:@"ef"];//注意如果遇到cde则不再往后面搜索,如果从后面搜索或其他搜索方式可以设置第二个options参数

    if (range.location == NSNotFound){

        NSLog(@"not Found");

    }else{

        NSLog(@"range is %@",NSStringFromRange(range));

    }//结果:range is {23}

}


//字符串分割

void test4(){

    NSLog(@"%@",[@"abcdef" substringFromIndex:3]);//从第三个索引开始(包括第三个索引对应的字符)截取到最后一位

    //结果:def

    NSLog(@"%@",[@"abcdef" substringToIndex:3]);//0开始截取到第三个索引(不包括第三个索引对应的字符)

    //结果:abc

    NSLog(@"%@",[@"abcdeg" substringWithRange:NSMakeRange(2, 3)]);

    //结果:cde

    NSString *str1 = @"12.abcd.3a";

    NSArray *array1 = [str1 componentsSeparatedByString:@"."];//字符串分��

    NSLog(@"%@",array1);

//    结果:

//    12

//    abcd

//    3a

}


//其他操作

void test5(){

    NSLog(@"%i",[@"12" intValue]);//类型转换

    //结果:12

    NSLog(@"%zi",[@"hello world,世界你好!" length]);

    //结果:17

    NSLog(@"%c",[@"abc" characterAtIndex:0]);

    //结果:a

    const char *s = [@"abc" UTF8String];//转换为C语言字符串

    NSLog(@"%s",s);

    //结果:abc

                  

}

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

    

    test1();

    test2();

    test3();

    test4();

    test5();

    

    

    return 0;

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值