【练习】NSString

#import <Foundation/Foundation.h>

// 引入头文件
#import "UserInfo.h"

int main(int argc, const char * argv[])
{
    @autoreleasepool
    {
        // (不可变)字符串对象的简单演示
        NSString *str = @"Welcome to view cori's ios series";
        NSLog(@"%@", str);
        
        // 当使用%@输出非字符串的对象内容时,会隐式发生类型转换,转换成字符串内容。
        // 不同的对象,%@输出的内容不同
        NSNumber *integer=[NSNumber numberWithInteger:100];
        NSLog(@"%@",integer);
        
        // 创建对象
        UserInfo *user = [[UserInfo alloc] init];
        NSLog(@"%@",user); // 输出的是内存地址
        [user release];
        
        // ======= 不可变字符串 的 常用操作 =======
        // 声明了2个不可变字符串对象
        NSString *string1 = @"I'm String One.";
        NSString *string2 = @"I'm String Two.";
        
        NSLog(@"字符串1的长度为:%lu",string1.length);
        
        NSString *result = [NSString stringWithString:string1];
        NSLog(@"复制得到的字符串:%@",result);
        
        // 将一个字符串拼接到另外一个字符串末尾
        string2 = [string1 stringByAppendingString:string2];
        NSLog(@"拼接得到的字符串:%@",string2);
        
        // 字符串的内容对等判断
        if([string1 isEqualToString:result]==YES)
            NSLog(@"字符串1和字符串result内容相同。");
        else
            NSLog(@"字符串1和字符串result内容不同。");
        
        // 检查两个字符串大小
        if([string1 compare:string2] == NSOrderedAscending)
            NSLog(@"字符串1小于字符串2");
        else if([string1 compare:string2] == NSOrderedSame)
            NSLog(@"字符串1等于字符串2");
        else if([string1 compare:string2]==NSOrderedDescending)
            NSLog(@"字符串1大于字符串2");
        // caseInsensitiveCompare 是忽略大小写的字符串内容比较
        
        // 将字符串中的字符转换为大写字母
        result = [string1 uppercaseString];
        NSLog(@"转换成大写后:%@",result);
        
        // 将字符串中的字符转换为小写字母
        result=[string1 lowercaseString];
        NSLog(@"转换成小写后:%@",result);
        
        // ======= 不可变字符串 的 其他操作 =======
        NSString *str1 = @"I'm String One.";
        NSRange subRange;
        
        // 从字符串中提取前3个字符
        result = [str1 substringToIndex:3];
        NSLog(@"字符串string1的前三个字符为:%@",result);
        
        // 从字符串中提取第5个后面的字符
        result = [str1 substringFromIndex:5];
        NSLog(@"字符串string1的第5后面的字符为:%@",result);
        
        // 从字符串中提取第8个、第13个及中间的字符
        result = [[str1 substringFromIndex:8] substringToIndex:6];
        NSLog(@"第8个、第13个及其中间的字符为:%@",result);
        // 一个更简单的办法
        result = [str1 substringWithRange:NSMakeRange(8,6)];
        NSLog(@"第8个、第13个及其中间的字符为:%@",result);
        
        // 确定一个字符串在另外一个字符串中的位置
        subRange = [str1 rangeOfString:@"String One"];
        NSLog(@"字符串“String One”位置为:%lu,长度为:%lu。",subRange.location, subRange.length);
        subRange = [str1 rangeOfString:@"String Two"];
        if(subRange.location == NSNotFound)
            NSLog(@"字符串“String Two”没有找到。");
        else
            NSLog(@"字符串“String Two”位置为:%lu,长度为:%lu。",subRange.location,subRange.length);
        
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/madeininfi/p/3647953.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值