object-c 之NSString

//字符串操作
//1 求字符串长度
        NSString * str = @"hello world";
        NSUInteger len = [str length];//unsigned long
        NSLog(@"len = %lu",len);
2 把输入的字符串转化为OC字符串
        char ch[100] = {};
        //abzzzdf    ab
        scanf("%[abc]",ch);//ch = ab  a = 1  a = 2
        scanf("%[^\n]",ch); //ch = zzzdf;
        // a b     '1'  '\n'
        //扫描集形式%[]  括号里边是条件
        //  ^字符 当做条件   除了这个字符 都接受  直到碰到此字符 接收结束
           //把C字符串 转换为OC
         NSString *str1 = [NSString stringWithUTF8String:ch];
        NSLog(@"str1 = %@",str1);

        //3 获取某个位置的字符
        //char  %c  unichar %C
        unichar ch =[str characterAtIndex:0];
        NSLog(@"%C",ch);
        //4 把单个字符转化为字符串
        NSString * strChar = [NSString stringWithFormat:@"%C",ch];
        NSLog(@"strChar = %@",strChar);
        //5 提取子串  从0提取到index 不包含index
        //hello world
        NSString *subStr1 = [str substringToIndex:4];
        NSLog(@"substr1 = %@",subStr1);
        //6 提取子串  从index到末尾  包含index
       NSString *subStr2 = [str substringFromIndex:2];
        NSLog(@"subStr2 = %@",subStr2);
7 提取范围字符子串
        NSRange range1 = {3,4};
        //NSRange 定义一个范围 {A,B} 从A开始 B个位置
        //NSString 开头类方法 构造一个对象  对象开头 对此对象进行操作
        NSString *subStr3 = [str substringWithRange:range1];
        NSLog(@"subStr3 =%@",subStr3);
8 判断是否含有前缀
        NSString *str1 = @"www.baidu.com";
        BOOL ret = [str1 hasPrefix:@"www"];        
        if (ret){
           NSLog(@"str1含有www前缀");
        }else{
            NSLog(@"str1不含有前缀");
       }       
       if ([str1 hasSuffix:@"com"]){ 
            NSLog(@"str1含有后缀com");
      } else{
            NSLog(@"str不含有后缀");
       }
9 字符串转换成大写字符
        NSString *str2 = @"asdfgQWERTxcvb";
        NSString * str3 = [str2 uppercaseString];
       NSLog(@"str3 = %@",str3);
9.1字符串转换成小写字符
        NSString *str4 = [str2 lowercaseString];
        NSLog(@"str4 = %@",str4);
9.2把字符串首字母大写
        NSString *str5 = [str2 capitalizedString];
        NSLog(@"str5 = %@",str5);
10 把字符串转换成基本数据类型   
        NSString *str6 = @"123";//floatValue   intgerValue
       NSLog(@"%i",[str6 intValue]);
11 字符串比较 
        NSString *str1 = @"ABC";
        NSString *str2 = @"abc";
      NSComparisonResult ret = [str1 compare:str2];
        //str1-str2 0 1
11.1 升序 NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
        
        if (ret == NSOrderedAscending)
        {
            NSLog(@"str1 <str2");
        }
        else if(ret == NSOrderedSame)
        {
            NSLog(@"str1 = str2");
        }
        else
        {
            NSLog(@"str1>str2");
        }

        /*
         NSCaseInsensitiveSearch = 1, 以大小写不敏感形式进行比较
         NSLiteralSearch = 2, 正序查找
        NSBackwardsSearch = 4,  反序查找
         */
        NSComparisonResult ret1 = [str1 compare:str2 options:NSCaseInsensitiveSearch];
        if (ret1 == 0)
        {
            NSLog(@"大小写不敏感");
        }
12 判断字符串是够相等
        BOOL  ret2 =[str1 isEqualToString:str2];
        if (ret2 == 0)
        {
            NSLog(@"str1 不等于 str2");
        }
13 字符串查找
        NSString * str = @"nanjing boweifeng nanjing";
        NSRange range1 =[str rangeOfString:@"jing"];
        //range1.location 字符串的下标 range1.length 字符串的长度 
     if (range1.location== NSNotFound)
        {
            NSLog(@"没有查找到");
        }
        else
        {
         NSLog(@"location =%li length =%li",range1.location,range1.length);
        }

13.1 选择正序或者逆序查找
        NSRange range2 = [str rangeOfString:@"jing" options:NSBackwardsSearch]; 
        if (range2.location== NSNotFound)
        {
            NSLog(@"没有查找到");
        }
        else
        {
            NSLog(@"location =%li length =%li",range2.location,range2.length);
        }
13.2 在指定范围内  正序或者逆序查找  1 要查找的字符串 2 添加一个条件正序或者逆序 3 在指定范围内nanjing boweifeng nanjing
        NSRange range3 = [str rangeOfString:@"feng" options:NSLiteralSearch range:NSMakeRange(8, 10)];
        
        NSLog(@"location =%li length =%li",range3.location,range3.length);
14 替换
         // 1 使用某个字符串替换字符串
        NSString *str3 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替换"];
        NSLog(@"str3 = %@",str3);
        //2 在某个范围内  正序或者逆序    使用某个字符串替换字符串
        NSString *str4 = [str stringByReplacingOccurrencesOfString:@"nanjing" withString:@"替换" options:NSBackwardsSearch  range:NSMakeRange(10, 15)];
        NSLog(@"str4 = %@",str4);
        //3
        NSString *str5 = [str stringByReplacingCharactersInRange:NSMakeRange(5, 7) withString:@"替换范围"];
        NSLog(@"str5 =%@",str5);
15  读取网址
        NSURL * url =[NSURL URLWithString:@"http://www.douyu.com"];
        //1 网址 2 编码要求 3 nil
        NSString *urlString = [NSString stringWithContentsOfURL:url encoding:4 error:nil];
        NSLog(@"urlString =%@",urlString);
16 读取文件
        NSString *fileString = @"/Users/wangjiawei/Desktop/git命令.rtf";
        NSString *fileContent = [NSString stringWithContentsOfFile:fileString encoding:4 error:nil];
        NSLog(@"fileContent = %@",fileContent);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容