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 ...
随机推荐
- mysql 2pc理解
- <web-view>中JSSDK
如果只是使用wx.miniProgram.navigateTo这种导航的接口,jssdk可以不用做配置,引用js后直接使用就行,如果chooseImage这种,就需要获取配置了,步骤如下: 先在后端通 ...
- css文本垂直居中的实现
本案例已经有新的比较简便的解决方案,可以直接采用 vertical-align:middle 样式对行内元素进行垂直居中布局,详见: 微信小程序开发——如何让商品标题类文本根据内容长度垂直居中. 以下 ...
- 52-python 画图二维
Python--matplotlib绘图可视化知识点整理 1.折线图: import numpy as np import matplotlib.pyplot as plt from pylab im ...
- 开发模型之V模型
1.模型目的: V模型的目的在于改进软件开发的效率和效果. 2.常见理论性描述: V模型从整体上看起来,就是一个V字型的结构,由左右两边组成. 左边的下划线分别代表了需求分析.概要设计.详细设计.编 ...
- 十三、实现Comparable接口和new Comparator<T>(){ }排序的实现过程
参考:https://www.cnblogs.com/igoodful/p/9517784.html Collections有两种比较规则方式,第一种是使用自身的比较规则: 该类必须实现Compara ...
- docker环境下solr6.0配置(中文分词+拼音)
前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...
- anaconda安装qt错误
windows下miniconda2安装python3下的qt包报错 conda install qt ERROR conda.core.link:_execute_actions(330): An ...
- 31. pt-variable-advisor
pt-variable-advisor h=192.168.100.101,P=3306,u=admin,p=admin mysqladmin var>/root/test/pt-variabl ...
- Python之路(第三十二篇) 网络编程:udp套接字、简单文件传输
一.UDP套接字 服务端 # udp是无链接的,先启动哪一端都不会报错 # udp没有链接,与tcp相比没有链接循环,只有通讯循环 server = socket.socket(socket.AF_I ...