不可变的字符串的修改方法有返回值(重新指向新的字符串地址)

可变的字符串的修改方法没有返回值(修改字符串本身)

// NSString 不可变字符串

// 1.创建字符串对象

// 使用初始化方法创建

NSString *string1 = [[NSString alloc] initWithFormat:@"hello, world"];

// 使用类方法

NSString *string2 = [NSString stringWithFormat:@"hello, world"];

// 使用字面量

NSString *string3 = @"hello ketty";

// 2.获取字符串的长度

NSLog(@"%ld", string1.length);

NSLog(@"%ld", [string3 length]);

// 3.获取指定位置的字符

unichar ch = [string2 characterAtIndex:7];

NSLog(@"%c", ch);

// 4.判断字符串的前缀和后缀

NSString *string4 = @"www.huajianghu.com";

BOOL isHasSuffix = [string4 hasSuffix:@"com"];

BOOL isHasPrefix = [string4 hasPrefix:@"www"];

NSLog(@"%d, %d", isHasSuffix, isHasPrefix);

// 5.查找某一个字符串在另一个字符串中的范围

NSString *string5 = @"我自将心向明月";

NSString *string6 = @"明月";

NSRange ran = [string5 rangeOfString:string6];

NSLog(@"%ld, %ld", ran.location, ran.length);

// 6.字符串截取

NSString *string7 = @"大风起兮云飞扬,威加海内兮归故乡,安得猛士兮守四方!";

// 通过指定范围截取字符串

NSString *subStr1 = [string7 substringWithRange:NSMakeRange(8, 7)];

NSLog(@"%@", subStr1);

// 从头开始,截取一定的长度

NSString *subStr2 = [string7 substringToIndex:7];

NSLog(@"%@", subStr2);

// 从指定位置开始,截取到最后

NSString *subStr3 = [string7 substringFromIndex:string7.length - 9];

NSLog(@"%@", subStr3);

// 7.字符串拼接

NSString *string8 = @"zhizunbao";

NSString *string9 = @"jiushiyinhao";

NSString *haha = [string8 stringByAppendingString:string9];

NSLog(@"%@", haha);

// 8.字符串替换

NSString *string10 = @"周星驰是最好的喜剧演员";

NSString *string11 = [string10 stringByReplacingOccurrencesOfString:@"周星驰" withString:@"哈登"];

NSLog(@"%@", string11);

// 9.字符串比较

NSString *string12 = @"wangcai";

NSString *string13 = @"xiaoqiang";

NSInteger result = [string12 compare:string13];

NSLog(@"%ld", result);

// 判断两个字符串是否相等

BOOL isEqul = [string12 isEqualToString:string13];

NSLog(@"%d", isEqul);

// 10.字符串和数值类型的转换

NSString *string14 = @"123";

NSInteger value1 = [string14 intValue];

NSLog(@"%ld", value1);

// 11.字符串大小写之间的转换

NSString *string15 = @"da feng qi xi yun fei yang";

NSString *string16 = @"Da Feng Qi Xi Yun Fei Yang";

// 首字母大写

NSString *str1 = [string15 capitalizedString];

NSLog(@"%@", str1);

// 全部大写

NSString *str2 = [string15 uppercaseString];

NSLog(@"%@", str2);

// 全部小写

NSString *str3 = [string16 lowercaseString];

NSLog(@"%@", str3);

// NSMutableString 可变字符串

// 1.创建对象

// 初始化方法

NSMutableString *mStr1 = [[NSMutableString alloc] initWithFormat:@"hello, world"];

// 类方法

NSMutableString *mStr2 = [NSMutableString stringWithFormat:@"hello kitty"];

// 不能使用字面量的方法创建,因为使用字面量方法创建的都是不可变的字符串

// 2.字符串拼接

NSMutableString *mStr3 = [NSMutableString stringWithFormat:@"卫庄"];

[mStr3 appendFormat:@"是盖聂的师弟"];

NSLog(@"%@", mStr3);

// 3.插入字符串

[mStr2 insertString:@"," atIndex:5];

NSLog(@"%@", mStr2);

// 4.删除字符串

[mStr1 deleteCharactersInRange:NSMakeRange(5, 1)];

NSLog(@"%@", mStr1);

// 5.字符串替换

NSMutableString *mStr4 = [NSMutableString stringWithFormat:@"天明和少羽是好哥们"];

[mStr4 replaceCharactersInRange:NSMakeRange(3, 3) withString:@"月儿"];

NSLog(@"%@", mStr4);

// 6.重置字符串

[mStr4 setString:@"星魂大人"];

NSLog(@"%@", mStr4);

OC字符串基本操作的更多相关文章

  1. JAVASE02-Unit01: API文档 、 字符串基本操作

    API文档 . 字符串基本操作 文档注释 package day01; /** * 文档注释只能定义在三个地方: * 类,方法,常量 * * 文档注释是功能注释,用来说明功能作用 * 在类上使用的目的 ...

  2. OC字符串常用函数

    创建一个字符串对象: NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@& ...

  3. OC字符串的常用方法

    网上写的关于字符串常用方法的博客很多,这里我简单做了下总结!不喜勿喷哦! 一.创建字符串 #import <Foundation/Foundation.h> //NSString //创建 ...

  4. c语言字符串转OC字符串

    // 如果把c语言字符串转OC字符串,@(C字符串) char *c = "abc"; NSLog(@"%@", @(c));

  5. 关于python字符串基本操作

    python字符串基本操作,比如字符串的替换.删除.截取.复制.连接.分割等.都是一些关于字符串的一些方法.下面来列举一些,相信对学习python还是有些帮助的. 1.去除空格--strp(): &g ...

  6. OC字符串与C语言字符串之间的相互转换

    1.C转OC字符串 const char *cString = "This is a C string"; // 动态方法 NSString *ocString1 = [[NSSt ...

  7. OC字符串NSString

    ========================== 面向对象编程进阶和字符串 ========================== Δ一.类的设计模式—单例 [单例]程序允许过程中,有且仅有一块内存 ...

  8. oc 字符串

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  9. OC字符串的一些常用的函数。

    )//获取字符串长度 NSUInteger len= str.length; () //通过指定索引返回对应的字符 unichar ch =[str characterAtIndex:]; ()//通 ...

随机推荐

  1. Unit Of Work的设计

    在DDD开发过程中,一个良好的Uow设计必不可少,我心目中的Uow设计应该具备以下几点: 1.有着良好的抽象,有着恰如其分的命名: 2.能够应付不同的组件,比如你的系统中可能会存在EfUnitOfWo ...

  2. 前端构建大法 Gulp 系列 (二):为什么选择gulp

    系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...

  3. 借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘

    本挖掘典型地运用了机器学习技术,例如聚类,分类,关联规则,和预测建模.这些技术揭示潜在内容中的意义和关系.文本发掘应用于诸如竞争情报,生命科学,客户呼声,媒体和出版,法律和税收,法律实施,情感分析和趋 ...

  4. Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事

    前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...

  5. 我为NET狂官方群福利贴:一些常用的工具:2016-08-01更新

    本次更新下载:http://pan.baidu.com/s/1skXzG4H 源码文档见官方群(以下为8.1更新内容) 逆天工具 CDN 资源库 国内 http://www.bootcdn.cn/ h ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 回顾上一节的解决方案,我们看出了解决方案中类库的关系 这里要说明一点MVC!=三层 他们大约是这样的一种关系 代码实现 上 ...

  7. ASP.NET Core中的依赖注入(4): 构造函数的选择与服务生命周期管理

    ServiceProvider最终提供的服务实例都是根据对应的ServiceDescriptor创建的,对于一个具体的ServiceDescriptor对象来说,如果它的ImplementationI ...

  8. iOS开发之三个Button实现图片无限轮播(参考手机淘宝,Swift版)

    这两天使用Reveal工具查看"手机淘宝"App的UI层次时,发现其图片轮播使用了三个UIButton的复用来实现的图片循环无缝滚动.于是乎就有了今天这篇博客,看到“手机淘宝”这个 ...

  9. 数据库日常维护-CheckList_02有关数据库备份检查

    数据库备份是DB日常运维中最基本的也是最重要的工作,很多情况下都是做成作业形式实现自动化周期性的做全备.差异以及日志备份.那么,如果作业出现问题没有完成工作,我们可以设置自动报警如email被动提醒我 ...

  10. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...