OC语言学习03-字符串


//字符串对象 NSString

//1.字符串前面加上@

//2.打印字符串对象用 %@

//3.OC字符串对象每一个字符都是unichar,符合Unicode,使用UTF-8编码存储



#import <Foundation/Foundation.h>


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

    @autoreleasepool {

        char *cstring = "Hello World!";

        printf("%s\n",cstring);

        //ocString是一个对象指针,指向常量区的字符串对象

        NSString *ocString = @"China";//存储在常量区

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

        

        //创建一个字符串对象

        //initWithUTF8String构造方法是将C语言字符串转换为OC字符串对象

        NSString *str1 = [[NSString alloc] initWithUTF8String:"How are you"];

        NSLog(@"%@",str1);

        //格式化构造OC字符串

        NSString *str2 = [[NSString alloc] initWithFormat:@"%s*****%d****%@","China",13,str1 ];

        NSLog(@"%@",str2);

        

        //传递字符串对象,构造新的字符串

        NSString *str0 = @"早上好!";

        NSString *str3 = [[NSString alloc] initWithString:str0];

        NSLog(@"%@",str3);

    }

    return 0;

}


二、字符串的使用

#import <Foundation/Foundation.h>


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

    @autoreleasepool {

        //1.NSString的比较

        NSString *str1 = [NSString stringWithFormat:@"%@", @"Hello World"];

        NSString *str2 = [NSString stringWithUTF8String:"Hello world"];

        

        //compare

        //NSOrdereAscending = -1L,递增

        //NSOrdereSame = 0       相等

        //NSOrderedDescending = 1  递减

        NSComparisonResult ret1 = [str1 compare:str2];

        if(ret1 == NSOrderedAscending) {

            NSLog(@"str1 < str2");

        }

        else if (ret1 == NSOrderedSame){

            NSLog(@"str1 = str2");

        }

        else {

            NSLog(@"str1> str2");

        }

        

        //以大小写不敏感方式比较字符串大小

        //- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;

        

        NSString *str3 = @"welcome to China";

        NSString *str4 = @"welcome to China";

        

       NSComparisonResult ret2 = [str3 caseInsensitiveCompare:str4];

        if(ret2 == NSOrderedAscending) {

            NSLog(@"str3 < str4");

        }

        else if(ret2 == NSOrderedSame) {

            NSLog(@"str3 = str4");

        }

        else if(ret2 == NSOrderedDescending) {

            NSLog(@"str3 > str4");

        }

        

        NSString *str5 = [NSString stringWithCString:"how are you" encoding:NSUTF8StringEncoding];

        NSString *str6 = [NSString stringWithUTF8String:"how are you"];

        

       BOOL ret4 = [str5 isEqualToString:str6];

        if(ret4 == YES) {

            NSLog(@"str5 等于 str6");

        }

        else {

            NSLog(@"str5 不等于 str6");

        }

        //判断是否以传入字符串开头

       BOOL  ret5 =  [@"www.spro.com" hasPrefix:@"www"];

        if(ret5 == YES) {

            NSLog(@"是以字符串开头");

        }

        else {

            NSLog(@"不是以字符串开头");

        }

    

    }

    return 0;

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值