现在的位置: 首页 > 综合 > 正文

字符串NSString的学习

2015年02月12日 ⁄ 综合 ⁄ 共 2186字 ⁄ 字号 评论关闭
//
//  main.m
//  OC04-task-03
//
//  Created by Xin the Great on 15-1-24.
//  Copyright (c) 2015年 Xin the Great. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        
        //字符串NSString的学习
        
        //NSString是一个不可变的字符串
        
        
        /***************************/
        /***************************/
        /**************NSString的创建*************/
        NSString *str1 = @"jack";
        NSLog(@"str1 : %@",str1);
        //字符串本身是没有变化的,只是改变了指针的指向
        str1 = @"rose";
        NSLog(@"str1 : %@",str1);
        
        //创建一个空的字符串
        NSString *str2 = [[NSString alloc] init];
        NSLog(@"str2 : %@",str2);

        //类方法构造一个字符串
        NSString *str3 = [NSString string];
        NSLog(@"str3 : %@",str3);
        
        //下面的方法和直接赋值字符串常量是一样的
//        NSString *str4 = [[NSString alloc] initWithString:@"hehe"];
//        NSString *str5 = [NSString stringWithString:@"haha"];
//        char *p = malloc(sizeof(char) * 10);
//        scanf("%s",p);
//        //根据C字符串初始化一个NSString NSStringEncoding:表示的是编码格式
//        NSString *str6 = [NSString stringWithCString:p encoding:NSUTF8StringEncoding];
//        NSLog(@"str6 : %@",str6);
        
        //快速格式化一个字符串,与NSLog(@"");用法一致
        CGFloat pi = 3.1415;
        NSString *str6 = [[NSString alloc] initWithFormat:@"he%.2fllo", pi];
        NSString *str7 = [NSString stringWithFormat:@"hello%.2fstr7",pi];
        NSLog(@"str6 : %@",str6);
        NSLog(@"str7 : %@",str7);

        
        /***************************/
        /***************************/
        /*字符串的比较*/
        NSString *s1 = [NSString stringWithFormat:@"12"];
        NSString *s2 = [NSString stringWithFormat:@"11"];
        
        //比较两个字符串内容是否相等
        if ([s1 isEqualToString:s2]) {
            NSLog(@"s1 和 s2 内容是相等的");
        }else
        {
            NSLog(@"s1 和 s2 内容不相等");
        }
        
        //判断地址是否为同一个地址
        NSLog(@"s1 : %p",s1);
        NSLog(@"s2 : %p",s2);
        if (s1 == s2) {
            NSLog(@"s1 == s2");
        }else
        {
            NSLog(@"s1 != s2");
        }
        
        
        //比较字符串的大小 返回值为NSComparisonResult 表示比较字符串为升序还是降序
        NSComparisonResult result = [s1 caseInsensitiveCompare:s2];
        NSLog(@"result = %ld",result); //-1 0 1
        
        
        //求字符串长度
        NSUInteger lenth = [s1 length];
        NSLog(@"lenth is : %ld",lenth);
        
        
        //字符串的转换
        NSString *str8 = @"abcdefg";
        //改成大写
        NSString *upperStr = [str8 uppercaseString];
        NSLog(@"upperStr is %@",upperStr);
        NSString *lowerStr = [upperStr lowercaseString];
        NSLog(@"lowerStr is %@",lowerStr);
        NSString *capitalStr = [str8 capitalizedString];
        NSLog(@"capitalStr is %@",capitalStr);
        
        //字符串变成基本数据类型
        NSString *str9 = @"1.001";
        NSInteger integer = [str9 integerValue];
        NSLog(@"integer is %ld", integer);
        CGFloat floatValue = [str9 floatValue];
        NSLog(@"floatValue is %.2f", floatValue);
        BOOL isTure = [str9 boolValue];
        NSLog(@"isTure is %d",isTure);
    }
    return 0;
}

抱歉!评论已关闭.