OC -- 字符串

一.   字符串

       OC中字符串的格式:NSString *string =@"字符";

            * * *    字符串类分为两种

                      1⃣️  NSString:不可变在字符串

                            不能够修改字符串的内容,也就是说不能对字符串进行增删改查

                      2⃣️  NSMutableString:可变字符串

                             对象确定后,能够修改字符串内容,能够对字符串进行增删改查

         先说    NSString:不可变在字符串的所有

  

              1. 创建一个字符创常量

                   (1).  直接赋值

                         //通过直接赋值,创建一个字符串常量

                              NSString *str1 = @"字符串1"; 

                    (2).  通过初始化,便利构造

                            通过初始化方法和便利构造方法创建一个空字符串对象

                             NSString *str2 = [[NSString alloc]init];

                             NSString *str3 = [NSString string];

                              给空字符串对象赋值

                               str2 = @"字符串2";

                               str3 = @"字符串3";

                 2.  快速创建一个字符串

                       (1).通过带参数的init方法快速创建 

                              NSString *str4 =[[NSString alloc]initWithString:@"字符串4"];

                         (2).通过带参数的便利构造方法快速创建字符串

                              NSString *str5 = @"字符串";

                  3. 创建一个格式化的字符串

                      (1).通过带参数的便利构造方法创建格式化字符串,后面的格式,跟  NSlog括号内的一样

                           int a = 6;

                           NSString *str6 = [NSString stringWithFormat:@"字符串%d",a];

                            NSLog(@"字符串%d",a);

                            NSString *str7 = [[NSString alloc]initWithFormat:@"字符串%d",a];


                  4. 字符串的比较    比较:compare

                       (1).   区分大小写的比较:compare

                                NSString *str8 = @"ABC";

                                NSString *str9 = @"ab";

                                 NSComparisonResult resutl =  [str8 compare:str9];//resutl结果

                        (2).  不区分大小写的比较:caseInsensitiveCompare 

                             NSComparisonResult result1 = [str8 caseInsensitiveCompare:str9];

                         (3).  isEqualToString比较字符串对象的内容是否一样;==比较两个字符对象的内       存地址是否一样,用BOOL 接受

                              BOOL isEqual = [str8 isEqualToString:str9];

                     5.  字符串的转换

                            (1).  将字母转化为大写:uppercaseString

                                    NSString *str10  = @"aBcD";

                                     NSString *uppercaseTest  = [str10 uppercaseString];

                           (2).   将字母转化成小写:lowercaseString

                                     NSString *lowercaseTest = [str10 lowercaseString];

                             (3).   将首字母大写,后面小写:capitalizedString

                                     NSString *capitaTest = [str10 capitalizedString];

                                       [lowercaseTest isEqualToString:@""];

                        6.   字符串的截取与拼接

                                (1).   表示从头截取到哪里:substringToIndex

                                         NSString *str11  = @"hello iOS";

                                          NSString *substring  = [str11 substringFromIndex:5];

                                 (2).  表示从哪里开始到尾:substringFromIndex

                                       NSString *subsfrom = [str11 substringFromIndex:3];

                                (3).  表示按指定的范围截取:substringWithRange

                                      //NSRang 规定一个返回,locationd代表从哪里开始截取 length代表截取多长

                                          NSRange rang = {1,1};

                                         //表示按指定的范围截取

                                             NSString *subswith = [str11 substringWithRange:rang];

                                          //通过length获取到字符串的长度

                                              long strLeng = str11.length; 

                                               NSString *str12 = @"hello";

                                            //拼接字符串

                                                  NSString *appendStr = [str12 stringByAppendingString:@"你好%"];

                                                    int b = 12;

                                  (4).  格式化拼接字符串:stringByAppendingFormt

                                         NSString *formeAppend  = [str12 stringByAppendingFormat:@"你好%d",b];

                             7.   字符串转换数组 

                                     (1).用特定字符分割字符串:componentsSeparatedByString

                                           NSMutableString方法

                                            //字符串转数组

                                               NSString *str13 = @"哈哈    特别可爱";

                                            // 用特定字符串分割字符串 

                                                 NSArray *aryay = [str13 componentsSeparatedByString:@"吃饭"];


            NSMutableString:可变字符串


                 1.  增->使原字符改变

                      (1). 对自身进行修改:appendString

                            [str14 appendString:@"修改1"];

                      (2).  对自身进行格式化拼接:appendFormat

                               int c = 14;

                                [str14 appendFormat:@" %d",c];

                      (3).  在字符串的指定位置插入内容:insertString...atIndex 

                            [str14 insertString:@"💗" atIndex:3];

                2.  删->删除原字符串的某些内容

                     (1).  删除原字符串中指定区域的字符:deleteCharactersInRange  range指代删除内容范围

                              NSRange rang1 = {5,2};

                                [str14 deleteCharactersInRange:rang1];  

                 3.  改->修改原字符的某些内容

                      (1).  修改字符的内容:replaceCharactersInRange...withString

            range指代修改内容范围,withString后面加修改后的内容

                             NSRange rang2 = {6,5};

                               [str14 replaceCharactersInRange:rang2 withString:@"成功"];

                 4.  查->查找原字符串的字符

                      (1).  查找原字符串中是否有指定的字符:containsString  BOOL类型 接收

                              BOOL  isHeart = [str14 containsString:@"💗"];


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容

  • 任何编程语言对字符串的操作是必不可少的,简单的字符串处理我们可以借助OC中NSString封装好的字符串处理...
    超仔不叫superman阅读 1,838评论 0 0
  • ********************************总结字符串的用法*****************...
    寒柏桥晨阅读 648评论 0 0
  • 字符串的创建 第一种方式: char a[] = "lanOu"; NSSt...
    Sherry宇阅读 361评论 0 0
  • 简书第一篇,随便写点什么。 我一直认为持续输出是一件非常有意义的事情。你这段时间的经历与知识积累,如果不以可见的方...
    黄泉hj阅读 1,617评论 0 0
  • 8/7 D2: 科伦坡---阿努拉德普勒 一切都辣么辣么顺利,在联程处和小妹妹胜利会师,开心的聊着、笑着,...
    ICEarise阅读 276评论 0 0