OC字符串基本操作
不可变的字符串的修改方法有返回值(重新指向新的字符串地址)
可变的字符串的修改方法没有返回值(修改字符串本身)
// 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字符串基本操作的更多相关文章
- JAVASE02-Unit01: API文档 、 字符串基本操作
API文档 . 字符串基本操作 文档注释 package day01; /** * 文档注释只能定义在三个地方: * 类,方法,常量 * * 文档注释是功能注释,用来说明功能作用 * 在类上使用的目的 ...
- OC字符串常用函数
创建一个字符串对象: NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@& ...
- OC字符串的常用方法
网上写的关于字符串常用方法的博客很多,这里我简单做了下总结!不喜勿喷哦! 一.创建字符串 #import <Foundation/Foundation.h> //NSString //创建 ...
- c语言字符串转OC字符串
// 如果把c语言字符串转OC字符串,@(C字符串) char *c = "abc"; NSLog(@"%@", @(c));
- 关于python字符串基本操作
python字符串基本操作,比如字符串的替换.删除.截取.复制.连接.分割等.都是一些关于字符串的一些方法.下面来列举一些,相信对学习python还是有些帮助的. 1.去除空格--strp(): &g ...
- OC字符串与C语言字符串之间的相互转换
1.C转OC字符串 const char *cString = "This is a C string"; // 动态方法 NSString *ocString1 = [[NSSt ...
- OC字符串NSString
========================== 面向对象编程进阶和字符串 ========================== Δ一.类的设计模式—单例 [单例]程序允许过程中,有且仅有一块内存 ...
- oc 字符串
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- OC字符串的一些常用的函数。
)//获取字符串长度 NSUInteger len= str.length; () //通过指定索引返回对应的字符 unichar ch =[str characterAtIndex:]; ()//通 ...
随机推荐
- MemCache超详细解读
MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...
- CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能
CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能 效果图 这是红宝书里的例子,在这个例子中,下述功能全部登场,因此这个例子可作为使用Compute Shader的典型 ...
- Binder In Native
关于Binder的设计思想与Driver层实现细节可以看这个:Android Binder设计与实现 - 设计篇,这里首先简要概括一下. Service的每个Binder实体位于Service所属的进 ...
- JavaScript语言精粹--Function,类,this,对象
1.类与对象 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它 ...
- socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题.这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数. 网络字节顺序与本地字节顺序之间的转 ...
- 难道.NET Core到R2连中文编码都不支持吗?
今天写了一个简单的.NET Core RC2控制台程序,发现中文显示一直是乱码.查看操作系统设置,没有问题:查看源文件编码,也没有问题:甚至查看了Console字符编码相关的注册表,依然没有发现问题. ...
- OCP考点实战演练02-日常维护篇
本系列宗旨:真正掌握OCP考试中所考察的技能,坚决不做Paper OCP! 实验环境:RHEL 6.4 + Oracle 11.2.0.4 OCP考点实战演练02-日常维护篇 1.数据库体系结构和AS ...
- 你可曾见过如此简单粗暴的JavaScript解说 -- if 判断的正确打开方式?
在JavaScript中,对于 if else 的逻辑判断你肯定非常熟悉,本文罗列了几种你不一定知道的简写方式,仅供参考. 例子: 已知小明考了68分,小于60分为不及格,大于60分为及格,问:小明是 ...
- 想着模仿京东微信首页呢,banner滚动搞定了,写到了一半了
接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 想着模仿京东首页呢,结果也没赶得及写完,轮播图让我搞 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...