NSString 使用简介


一、NSString 类型简介

NSString 是oc中的一种数据格式,常用于oc中字符串定义。


二、NSString 常用方法

//  main.m
#import  " Foundation // Foundation.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {       
        //2.1 创建字符串
        NSString *t1 = @"这是一个字符串1!";
        NSLog(@"-----%@------",t1);
        
        //2.2 创建空字符串并赋值
        NSString *t2 = [[NSString alloc]init];
        t2=@"这是一个字符串2!";
        NSLog(@"-----%@-----",t2);
        
        //2.3 采用 initWithString
        NSString *t3 = [[NSString alloc]initWithString:@"这是一个字符串3!"] ;
        NSLog(@"-----%@------",t3);
        
        //2.4 格式化字符串 initWithFormat
        NSString *t4 = [[NSString alloc]initWithFormat:@"这是一个替换字符串4:替换字符%d 替换字符2:%d",10,20];
        NSLog(@"---%@---",t4);
        
        //2.5 从文件创建字符串
        NSString *t5 = [[NSString alloc]initWithContentsOfFile:@"/test/info" encoding:NSUTF8StringEncoding error:nil];
         //?
         NSLog(@"---打印文件%@---",t5);
 
        //2.6 NSString 从URL中获取内容
        NSURL *tURL = [[NSURL alloc]initWithString:@"http://www.maomao365.com"];
        NSString *t6 = [[NSString alloc]initWithContentsOfURL:tURL usedEncoding:NULL error:nil];
        NSLog(@"从URL读取字符信息-----%@---",t6);
        
        
        //------------NSString 方法汇总
        //2.7 字符串相等判断
        NSString *t7_1 = @"info1223";
        NSString *t7_2 = @"INFO122";
        if([t7_1 isEqualToString:t7_2])
        {
            NSLog(@"两个字符串相等!");
        }else
        {
            NSLog(@"两个字符串不相等!");
        }
        
        //2.8 获取字符串长度
        NSLog(@"字符串长度:%lu",(unsigned long)[t7_1 length]);
        
        //2.9 取某一位置的字符(取第二个字符)
        char *t9 = [t7_1 characterAtIndex:1];
        NSLog(@"--取第二个字符:%c---",t9);
        
        //2.10 compare 比较两个字符串大小
          //compare 函数返回一下三个枚举类型
         //NSOrderedAscending = -1,
        //NSOrderedSame,  0
        //NSOrderedDescending 1
        
        //不分大小写的比较
        if([t7_1 compare:t7_2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame)
        {
            NSLog(@"2.10-两个字符串一致!");
        }
        if([t7_1 compare:t7_2] == NSOrderedSame)
        {
            NSLog(@"2.10-两个字符串一致!");
        }
        if([t7_1 compare:t7_2] == NSOrderedAscending)
        {
            NSLog(@"2.10-第一个字符串比第二个小");
        }
        
        if([t7_1 compare:t7_2] == NSOrderedDescending)
        {
            NSLog(@"2.10-第一个字符串比第二个大");
        }
        
        //2.11 NSString 大小写转换
        NSString *t11_1 = [t7_1 uppercaseString]; //大写转换
        NSLog(@"--转换后的字符串:%@",t11_1);
        NSString *t11_2 = [t7_2 lowercaseString]; //小写转换
        NSLog(@"--转换后的字符串:%@",t11_2);
        NSString *t11_3 = [t7_2 capitalizedString];//首字母大写
        NSLog(@"第一个字符大写:%@",t11_3);
        
        //2.12 查找字符串
        NSString *t12_1 = @"test123";
        NSString *t12_2 = @"st";
        NSLog(@"t12_2 在t12_1的位置:%lu",(unsigned long)[t12_1 rangeOfString:t12_2].length);
        
        //2.13 截取字符串 (OC 三种截取字符的方法)
        NSString *t13 = @"这是一个截取字符串例子";
        NSLog(@"从**位置开始截取:%@",[t13 substringFromIndex:2]);
        NSLog(@"从0开始截取至**位置:%@",[t13 substringToIndex:6]);
        NSRange t13_t;  //定义一个NSRange  Range赋值
        t13_t.location =1; //数组下标
        t13_t.length =7;  //数组的长度
        NSLog(@"从**位置开始截取至***位置:%@",[t13 substringWithRange:t13_t]);       
    }
    return 0;
}