您的位置:首页 > 编程语言 > C语言/C++

OC语言学习03-字符串

2017-07-12 17:58 344 查看
//字符串对象 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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS开发 Objective-C