OC语言学习03-字符串

来源:互联网 发布:网站程序员工资 编辑:程序博客网 时间:2024/06/07 15:24


//字符串对象 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 = [[NSStringalloc] initWithUTF8String:"How are you"];

        NSLog(@"%@",str1);

        //格式化构造OC字符串

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

        NSLog(@"%@",str2);

        

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

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

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

        NSLog(@"%@",str3);

    }

    return0;

}


二、字符串的使用

#import <Foundation/Foundation.h>


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

    @autoreleasepool {

        //1.NSString的比较

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

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

        

        //compare

        //NSOrdereAscending = -1L,递增

        //NSOrdereSame = 0      相等

        //NSOrderedDescending = 1 递减

        NSComparisonResult ret1 = [str1compare:str2];

        if(ret1 ==NSOrderedAscending) {

            NSLog(@"str1 < str2");

        }

        elseif (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 = [str3caseInsensitiveCompare:str4];

        if(ret2 ==NSOrderedAscending) {

            NSLog(@"str3 < str4");

        }

        elseif(ret2 == NSOrderedSame) {

            NSLog(@"str3 = str4");

        }

        elseif(ret2 == NSOrderedDescending) {

            NSLog(@"str3 > str4");

        }

        

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

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

        

       BOOL ret4 = [str5isEqualToString:str6];

        if(ret4 ==YES) {

            NSLog(@"str5等于 str6");

        }

        else {

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

        }

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

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

        if(ret5 ==YES) {

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

        }

        else {

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

        }

    

    }

    return0;

}