字符串NSString

一.创建字符串(各种方法)

//1.最简单的创建方法
        NSString *str1 = @"hello world !";//str1指向常量区
        str1 = @"哈哈";//str1(指针)的重指向
        NSLog(@"%@",str1);
 //2.废柴写法
        NSString *str2 = [[NSString alloc]initWithString:@"aa"];
    //str2仍然指向常量区

 //3.最正宗的写法(指向堆区)
        NSString *str3 = [[NSString alloc]initWithFormat:@"%@ %@",str2, str1];
        NSString *str4 = [[NSString alloc]initWithFormat:@"%@",@"我是小四"];
        NSLog(@"%@",str3);
        NSLog(@"%@",str4);

**************2.字符串长度***************
//length计算字符串的长度 返回值是NSUIntger

        NSString *str5 = @"dsgtretre";
        NSUInteger len = str5.length;//[str5 length]==str5.length
        NSLog(@"字符串长度为%lu",len);

**************3.获取字符串前缀、后缀***************
//关键字1:prefix判断前缀 返回值BOOL类型

NSString *str6 = [[NSString alloc]initWithFormat:@"http://www.baidu.com"];
BOOL isPrefix = [str6 hasPrefix:@"http"];
        NSLog(@"isPrefix = %d",isPrefix);
        BOOL isSuffix = [str6 hasSuffix:@".com"];
        NSLog(@"isSuffix = %d",isSuffix);
        NSLog(isPrefix && isSuffix ? @"此链接是正确的" : @"此链接不正确");

**************4.查找字符串的范围***************

NSString *str7 = [[NSString alloc] initWithFormat:@"you are beautiful"];
    //判断str7中是否含有are这个字符串
    //新的数据类型:NSRange结构体类型(两个成员变量);location字符串开始的位置  length字符串的长度

//一旦子串不存在母串中,输出location就会输出一个随机值

        NSRange range = [str7 rangeOfString:@"are"];        NSLog(@"location=%ld,length=%ld",range.location,range.length);
        NSLog(range.length == 0 ? @"查找失败" : @"查找成功");

**************5.获取子字符串***************

//有三种方法,关键字sub,to,from
        NSString *str8 = @"nizhenbang";
        //1.给定字符串开始的位置,截取到最后一个字符
        //sub--子 super--父
        NSString *subStr1 = [str8 substringFromIndex:6];
        NSLog(@"subStr1=%@",subStr1);
        //2.关键字to,给定结束位置,从第一个字符串开始截取,到指定字符串结束(不包含指定位置上的字符串)
        NSString *subStr2 = [str8 substringToIndex:6];
        NSLog(@"subStr2=%@",subStr2);
        //3.关键字range 任意位置截取任意长度的子串
        //先创建range变量,指定要截取额范围
        NSRange range1 = [str8 rangeOfString:@"zhen"];
        NSString *subStr3 = [str8 substringWithRange:range1];
        NSLog(@"subStr3=%@",subStr3);
        
        //第二种方式,不提前设置range变量
        NSString *subStr4 = [str8 substringWithRange:NSMakeRange(3, 4)];
        //NSMakeRange用来设置NSRange变量(注意非对象类型不要带*)
        NSLog(@"subStr4=%@",subStr4);

**************6.字符串拼接***************

//关键字:appending
        NSString *str9 = [NSString stringWithFormat:@"HaoRan"];
        //在str9后面拼接" is a handsome boy"
        NSString *newStr = [str9 stringByAppendingString:@" is a handsome boy"];
        NSLog(@"newStr=%@",newStr);

**************7.字符串替换***************

NSString *s1 = [NSString stringWithFormat:@"ihello hello hi hi"];
        //1.用指定字符串替换指定内容,比如将hello替换成haha,全部hello都被替换成haha
        NSString *newStr1 = [s1 stringByReplacingOccurrencesOfString:@"hello" withString:@"haha"];
        NSLog(@"newStr1=%@",newStr1);
        //2.指定替换长度,比如将第一个hi改成yes
        NSString *newStr2 = [s1 stringByReplacingCharactersInRange:NSMakeRange(16, 2) withString:@" yes"];
        NSLog(@"newStr2=%@",newStr2);

**************8.字符串大小写转换***************

NSString *s2 = [NSString stringWithFormat:@"rgreg dxg dgde"];
        //1.全部转为大写
        NSString *upperStr = [s2 uppercaseString];
        NSLog(@"upperStr=%@",upperStr);
        //2.全部小写
        NSString *lowerStr = [upperStr lowercaseString];
        NSLog(@"lowerStr=%@",lowerStr);
        //3.首字母转为大写 capital
        NSString *captilStr = [lowerStr capitalizedString];
        NSLog(@"captilStr=%@",captilStr);

**************9.字符串比较***************

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

推荐阅读更多精彩内容