OC之NSString、NSMutableString学习笔记 常用方法
NSString篇:
1.字符串连接
NSString *beijing = @"北京";
NSString *welcome = [beijing stringByAppendingString:@" 欢迎你 "];//字符串连接
NSLog(@"%@",welcome);
//两种效果相同的字符串连接
NSString *str22 = [str20 stringByAppendingFormat:@"%@",str21];
NSString *str23 = [str20 stringByAppendingString:str21];
2.字符串长度
NSLog(@"%zi",welcome.length);//字符串的长度
3.字符串比较
注意比较的是内容,此处并未比较地址
BOOL flag = [beijing isEqualToString:@"北京"];//字符串比较
NSLog(@"%d",flag);//布尔类型 1相等 0不相等
比较(地址+内容)
NSString *sstring1 = [[NSString alloc] initWithFormat:@""];
NSString *sstring2 = [[NSString alloc] initWithFormat:@""];
if(sstring1 != sstring2)
NSLog(@"地址不相等");
else NSLog(@"地址相等");
NSLog(@"%p,%p"sstring1,sstring2);
4.字符串向数据的转换
NSString *number = @"",*floatNumber = @"1233.45";
float aa = [floatNumber floatValue];// 字符串转换成浮点型
int a = [number intValue];//字符串转换成整型
NSLog(@"%d,%f",a,aa);
5.字符串本身元素的索引
NSString *seachStr = @"12345.doc";
BOOL f = [seachStr hasPrefix:@""];//判断A字符串是否以B字符串为开头
BOOL f1 = [seachStr hasSuffix:@".doc"];//判断A字符串是否以B字符串结尾
NSRange range = [seachStr rangeOfString:@""];//搜索B字符串在A字符串中的范围
//库中的NSRange(包含了位置和长度的结构体)
// typedef struct _NSRange {
// NSUInteger location;
// NSUInteger length;
// } NSRange;
NSLog(@"%d,%d,%lu,%lu",f,f1,(range.location),(range.length));//位置 长度 (unsigned long) if (range.location == NSNotFound)
{
NSLog(@"没找到");
}
6.字符串的裁剪
NSString *subResource = @"abcde";
NSString *subStr = [subResource substringFromIndex:];//从位置1开始剪切字符串,包含1
NSLog(@"%@",subStr); NSString *subStr2 = [subResource substringToIndex:];//剪切到位置3,不包含3,留下3
NSLog(@"%@",subStr2); NSString *subResource = @"abcde";
NSRange range1 = NSMakeRange(, );
// range1.location = 1;//位置
// range1.length = 2;//长度
//等价
//库中的NSMakeRange
// NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
// NSRange r;
// r.location = loc;
// r.length = len;
// return r;
// }
NSString *subStr3 = [subResource substringWithRange:range1];//剪切给定范围的字符串
//compare方法:1.升序:前 < 后(-1),2.相等0 3.降序:前 > 后(1)
NSLog(@"%@",subStr3);
7.字符串的比较
NSLog(@"%d",(NSComparisonResult result = [@"ABC" compare:@"abc"]));
NSComparisonResult/*枚举类型*/ result = [@"CBA" compare:@"abc" ] ;
NSLog(@"%ld",result);// NSOrderedAscending = -1L,存储类型L
/*typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};*/
// NSComparisonResult result = [@“” caseInsensitiveCompare:@“”];
不区分大小写的比较
8.字符串元素插入、剔除、替换
NSString *string = @"Hello World and Sunshine";
NSString *string1= [string stringByReplacingOccurrencesOfS tring:@"World" withString:@"iBokanWisdom"];
NSLog(@"替换之前%@替换之后%@",string,string1);
#import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{
@autoreleasepool
{
NSString *string = @"Hello World and Sunshine";
NSString *string1= [string stringByReplacingOccurrencesOfString:@"World" withString:@"iBokanWisdom"];
NSLog(@"替换之前%@替换之后%@",string,string1); NSRange range = [string rangeOfString:@"World"];//搜索World字符串在Hello World and Sunshine字符串中的范围
NSString *string3 = [string stringByReplacingCharactersInRange:range withString:@"iBokanWisdom"];//某范围插入字符串
NSLog(@"%@",string3);
NSArray *array = [string componentsSeparatedByString:@" " ];//字符串转换为数组
//array = @[@"Hello",@"World",@"and",@"Sunshine"];
NSMutableArray *mutableArray = [array mutableCopy];//数组转换
[mutableArray replaceObjectAtIndex: withObject:@"iBokanWisdom"];//iBokanWisdom替换World
// [NSMutableArray componentsJoinedByString:@" “];
NSString *string2 = [mutableArray componentsJoinedByString:@" "];//数组转换为字符串
NSLog(@"%@",string2); }
return ;
}
// NSString构造方法:
//构造方法,语法跟NSNumber,NSArray差不多
stringWithString:
stringWithFormat:@""
//比较
isEqualTo..
compare
//获取X之前
sub..ToIndex
//截取X到尾
sub..FromIndex
//查找
rangeOf..
NSMutableString篇(注意:可变字符串与不可变字符串的相同操作方法是不同的)
NSMutableString *mutableString = [[NSMutableString alloc] initWithCapacity/*容量*/:];//可变字符串初始化
//首先分配0个存储空间,当字符串长度超出范围后,再去开辟新的存储空间
[mutableString setString:@""];
NSString *sstring;//不可变字符串初始化
sstring = @"";//不可变字符串赋值
[mutableString appendString:@""];//可变字符串的追加方法,不产生新的字符串,直接改变原有的字符串
NSString *welcome = [sstring stringByAppendingString:@" 欢迎你 "];//不可变字符串的追加方法,要产生新的字符串
NSLog(@"%@--%@",mutableString,welcome);
//总结:可变字符串只有初始化并且说明长度后才可以对其操作,否则为空
//插入字符串
insertString
//追加字符串
appendString
//替换字符串
deleteCharactersInRange:withString
OC之NSString、NSMutableString学习笔记 常用方法的更多相关文章
- oc中的类学习笔记1
1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc ...
- OC本学习笔记Foundation框架NSString与NSMutableString
一.NSString与NSMutableString 相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutable ...
- oc学习笔记2
.oc中的BOOL类型 oc中的BOOL类型的值为YES和NO,有点小奇怪 在oc中YES不等于1,但是NO一定等于0,所以不要把1和YES来比较 .消息发送 在oc中,经常使用这样的术语:将allo ...
- Swift 2.0 字符串学习笔记(建议掌握OC字符串知识的翻阅)
自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目 ...
- OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏
OC中的基本数据类型 NSString 在64位系统下,相当于long,在非64位系统下,想当于int. CGFloat 在64位系统下,相当于double,在非64位系统之下,想当与float ...
- Object C学习笔记9-字符串NSMutableString
NSMutableString类继承自NSString,所以在NSString中的方法在NSMutableString都可以使用. NSMutableString和NSString的区别在于NSMut ...
- java WEB学习笔记32:HttpSession 接口常用方法 及 HttpServletRequest接口中的Session方法 Demo
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- iOS学习笔记17-FMDB
上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...
随机推荐
- C# 压缩与解压字符串(面试题)
/* * 题目:压缩字符串.如“abbcccddddeef”,压缩成“a1b2c3d4e2f1” * 解题: 这个题目也是面试常见的题目.看似很简单,其实暗藏杀机.一般的想法就是,一边遍历,一边计数, ...
- nginx启动、重启、关闭
一.启动 cd usr/local/nginx/sbin ./nginx 二.重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/ngin ...
- git初体验(六)git配置
一.基本配置 看这篇Git 基本配置其实就解决很多问题了. 二.客户端配置 1.git bash 粘贴与编辑 在git bash客户端头部右键,现在属性,然后把"快速编辑模式勾选即可&quo ...
- 【hdu 5918】Sequence I(KMP)
给定两个数字序列,求a序列中每隔p个构成的p+1个序列中共能匹配多少个b序列. 例如1 1 2 2 3 3 每隔1个的序列有两个1 2 3 kmp,匹配时每次主串往前p个,枚举1到p为起点. 题目 # ...
- Java非静态内部类中为什么不能有静态变量却可以有常量?
如:public class InnerClassDemo{ int x; class A{ static int a = 0;//这样写是不合法的. static final int b=0;//这 ...
- 转JAVA2
1.List遍历时删除的几种方式比较 1.1.会报错的删除方式: (1)在Iterator遍历时使用list删除 Iterator<String> it = list.iterator() ...
- Java多线程与并发库高级应用-工具类介绍
java.util.concurrent.Lock 1.Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码片段要实现同步互 ...
- 使用HttpSessionListener接口监听Session的创建和失效
转自:http://uule.iteye.com/blog/824115 HttpSessionListener : Session创建事件发生在每次一个新的session创建的时候,类似地Sessi ...
- 【caffe】三种文件类别:solver,model和weights
@tags: caffe 文件类别 solver文件 是一堆超参数,比如迭代次数,是否用GPU,多少次迭代暂存一次训练所得参数,动量项,权重衰减(即正则化参数),基本的learning rate,多少 ...
- Search and Replace搜寻与替换工具
一个功能强大的搜寻与替代工具.它可以在同一部硬盘中对所有的文件进行搜寻与替换的功能,也可以对Zip文件中的文件做搜寻,支持特殊字符条件表达式搜寻,或是以脚本文件(Script)做搜寻替换工作,也可以以 ...