OC中NSString的使用、字符串的使用
字符串作为OC语言的基本对象类型,被我们在各种地方广泛使用,因此熟悉掌握字符串的属性和方法,是OC必不可少的基础之一。
字符串分为可变字符串(NSMutableString)和不可变字符串(NSString),首先我们来学习不可变字符串的属性与方法。
一、不可变字符串
1.创建不可变字符串
主要有四种方法:
1.

2.

3.

4.


2.获取字符串的长度,获取字符串的长度我们可以使用字符串的length属性,可以以此判断字符串是否为空


3.查找子字符串
1.从字符串开头查找到你的索引位置(包含索引位置)
2.从索引位置到结束(不包含索引位置)
3.查找某个范围内的子字符串

4.字符串的比较,一般有两种方法,一种是调用方法isEqualToString,另一种是使用关键字NSComparisionResult,里面有compare方法,调用这个方法,返回的结果为一个枚举类型:NSOrderedAscending(升序), NSOrderedSame(等), NSOrderedDescending(降序)


5. 两个对象的比较
NSString *ob1 = @"Jack";
NSString *ob2 = @"jacken";
Person *p1 = [[Person new] autorelease];
Person *p2 = [[Person new] autorelease];
//注意:p1和p2不是一个对象 只是名字相同而已
// p1.name = @"Jack";
// p2.name = @"Jack";
//当一个对象被添加到一个集合里面(NSArray NSDictionary NSSet)
//这个对象的引用计数+1
NSArray *pArray = @[p1];
p1.name = @"Jack";
NSLog(@"%@", ((Person *)pArray[0]).name);
if ([p1 isEqual:pArray[0]]) {
NSLog(@"是同一个对象");
} else{
NSLog(@"不是同一个对象");
}
输出的是:是同一个对象
6.判断字符串是否有某一个前缀和后缀


7.是否包含一个字符串

8.子字符串的具体位置和长度


9.将字符串转换成其他类型,有两种方法,一是强制类型转换,即下面的第一种,二是以initWithFormat的方式创建一个新的字符串,即下面的第二种方法
//字符串的数字 转化为对应的类型doubleValue floatValue
NSString *numStr = @"123";
int num = [numStr intValue];
NSString *ntr = [NSString stringWithFormat:@"%d", age];
二、可变字符串
可变字符串相对于不可变字符串,增加的功能主要有增、删、改、插(插入)。
1.创建可变字符串

2.增

3.删

4.改

5.插

6.重置字符串

输出结果:

OC中NSString的使用、字符串的使用的更多相关文章
- OC中NSString 的常用方法
NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...
- OC中的NSNumber、NSArray、NSString的常用方法
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...
- OC中的字符串常用方法
OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...
- oc中调用c函数 实现将字符串转换成unsigned char
帮助码友解决问题,从而复习了一下oc中调用c函数的方式 1,新建c 头文件 test.h 定义 c 函数 #ifndef test_h #define test_h void verificatio ...
- OC中加载html5调用html方法和修改HTML5内容
1.利用webView控件加载本地html5或者网络上html5 2.设置控制器为webView的代理,遵守协议 3.实现代理方法webViewDidFinishLoad: 4.在代理方法中进行操作H ...
- Swift: 比较Swift中闭包传值、OC中的Block传值
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...
- OC 初识NSString,self关键字,继承,成员变量的可见性,description方法
OC 初识NSString,self关键字,继承,成员变量的可见性,description方法 初识 NSString: char * string = "旭宝爱吃鱼"; 常量字符 ...
- OC中intValue要注意的地方
在程序中,发现一个问题,写了个例子,如下: NSDictionary * dict = [[NSDictionary alloc] init]; NSString * s ...
- OC中控制台日志打印
OC中Debug版本常用的打印格式化操作 %@ 对象 %d,%i 整型 (%i的老写法) %hd 短整型 %ld , %lld 长整型 %u 无符整型 %f 浮点型和doubl ...
随机推荐
- pycharm 配置svn
1.找到本地svn.exe 2.配置svn路径 3.输入svn路径,然后会进行密码校验 问题 本地的TortoiseSVN在bin目录没有发现svn.exe 原因: 安装TortoiseSVN的时候 ...
- java Graphics2D drawString()内容换行问题
//字符串总宽度 private int getStringLength(Graphics g,String str) { char[] strcha=str.toCharArray(); int s ...
- nginx多域名、多证书
环境: 一台nginx服务器 192.168.10.251 两台windowsserver2012 IIS服务器 (192.168.10.252.192.168.10.253) 从阿里云上下载ssl证 ...
- linux之egrep命令
1.介绍 egrep工具是grep工具的扩展,相当于grep -E 2.用法 查找1个或1个以上前面的字符为例 查找0个或1个前面字符 egrep 'o?' 1.txt 匹配roo或者body egr ...
- Opencv-Python学习笔记(一)
学习和研究计算机视觉,必然绕不开OpenCV. 于是我下载了它的C++源码,用cmake编译遇到一些错误. 然后结合网上一些帖子看源码看了好几天,发现有点不知从何处入手. 于是准备从其python版本 ...
- 七牛存储qshell工具
---恢复内容开始--- 工具地址:https://developer.qiniu.com/kodo/tools/1302/qshell 下载完成后:根据自己的系统选择需要的可执行文件,支持linux ...
- mactype配置
配合 Firefox 小小设置(改了好多配置,似乎主要是修改了渲染的核心?是叫这个么?把那个Siera?删掉了,就好了)后,效果极佳,我在原有配置的基础上,加大了字重,显示更粗,更明显. 这里是原配置 ...
- 《笨方法学Python》加分题28
#!usr/bin/python # -*-coding:utf-8-*- True and True print ("True") False and True print (& ...
- 设计模式学习心得<桥接模式 Bridge>
说真的在此之前,几乎没有对于桥接模式的应用场景概念. 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化.这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来 ...
- c#简单的数据库查询与绑定DataGridView。
1配置文件 (两种写法) <connectionStrings> <add name="connStr" connectionString="se ...