Object C学习笔记8-字符串NSString之二
5. 字符串是否包含
hasPrefix 判断字符串是否以某个字符串开头
hasSuffix 判断字符串是否以某个字符串结尾
NSString *str1=@"Object C学习正在进行中.... LOVE";
if([str1 hasPrefix:@"Object"]){
NSLog(@"字符串:%@是以%@开头",str1,@"Object");
} if([str1 hasSuffix:@"LOVE"]){
NSLog(@"字符串:%@是以%@结尾",str1,@"LOVE");
} if([str1 hasSuffix:@"love"]){
NSLog(@"字符串:%@是以%@结尾",str1,@"LOVE");
}
测试例子
注意以上方法都是要区分大小写的。
6. 截取字符串
substringToIndex: 截取从索引0到特定位置处的字符串
substringFromIndex: 截取从特定位置到字符串末尾的字符串
substringWithRange:从特定位置开始截取特定长度的字符
NSString *str2=[str1 substringToIndex:];
NSLog(@"从索引0开始截取到索引3的位置: %@",str2); NSString *str3=[str1 substringFromIndex:];
NSLog(@"所索引位置4开始截取到末尾: %@",str3); NSRange range=NSMakeRange(,);
NSString *str4=[str1 substringWithRange:range];
NSLog(@"从指定位置开始截取特定长度: %@",str4); range=NSMakeRange(, );
NSString *str5=[str1 substringWithRange:range];
NSLog(@"从指定位置开始截取特定长度: %@",str5);
测试例子
这里要注意NSRange 获取NSRange的实例要使用NSRange range=NSMakeRange(2,100); 第一个参数为索引位置,第二个参数为长度,当使用substringWithRange方法的时候,如果截取的长度超过了字符串的本身长度就会报错。这里需要注意一下
7. 字符串大小写转化
uppercaseString将字符串转化为大写
lowercaseString将字符串转化为小写
capitalizedString将字符串首字母转化为大写
NSString *str1=@"object C 大小写转化 Love";
//转化为大写
NSString *str2=[str1 uppercaseString];
NSLog(@"转化为大写:%@",str2); //转化为小写
NSString *str3=[str1 lowercaseString];
NSLog(@"转化为小写: %@",str3); //首字母大写
NSString *str4=[str1 capitalizedString];
NSLog(@"首字母大写: %@",str4);
测试例子
8. 查找字符串
查找字符串可以使用rangeOfString方法,该方法返回NSRange 可以获得匹配的字符串的起始位置以及长度
NSString *str1=@"object C 大小写转化 Love";
NSString *t=[[NSString alloc] initWithCString:"Love"];
NSRange range=[str1 rangeOfString:t];
NSLog(@"Location=%d",range.location);
NSLog(@"length=%d",range.length);
测试例子
9. 替换字符串
可以使用stringByReplacingCharactersInRange方法替换特定位置的字符串
可以使用stringByReplacingOccurrencesOfString将特定字符串替换为指定字符串
NSString *str1=@"object C 大小写转化 Love";
NSString *t=[[NSString alloc] initWithCString:"Love"];
NSRange range=[str1 rangeOfString:t];
NSLog(@"Location=%d",range.location);
NSLog(@"length=%d",range.length);
NSString *str2=[str1 stringByReplacingCharactersInRange:range withString:@"XCode"];
NSLog(@"替换之后的字符串为:%@",str2);
NSString *str1=@"Love object C 大小写转化 Love";
NSString *str2=[str1 stringByReplacingOccurrencesOfString:@"Love" withString:@"XCode"];
NSLog(@"替换之后的字符串:%@",str2);
测试例子
Object C学习笔记8-字符串NSString之二的更多相关文章
- Object C学习笔记22-#define 用法
上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...
- Object C学习笔记24-关键字总结
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- Object C学习笔记17-动态判断和选择器
当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...
- Object C学习笔记10-静态方法和静态属性
在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...
- Object C学习笔记24-关键字总结(转)
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- Object C学习笔记21-typedef用法
在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...
- Object C学习笔记18-SEL,@ selector,Class,@class
本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- 【学习笔记】字符串—马拉车(Manacher)
[学习笔记]字符串-马拉车(Manacher) 一:[前言] 马拉车用于求解连续回文子串问题,效率极高. 其核心思想与 \(kmp\) 类似:继承. --引自 \(yyx\) 学姐 二:[算法原理] ...
- 「学习笔记」字符串基础:Hash,KMP与Trie
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...
随机推荐
- LintCode,hihoCoder,LeetCode有什么区别?
https://www.zhihu.com/question/31218682 知乎用户 9 人赞同了该回答 LintCode 和LeetCode的题差不太多LintCode 有中文,不过没有用户讨论 ...
- Git使用本地仓库之基本操作
1.Git是什么? 一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器一样我们可以选择在合适的时间将本地版本 ...
- GitBlit集成AD域LDAP
GitBlit的配置文件: gitlblit安装目录下的 /data/gitblit.properties ,用记事本或其他编译器打开即可. 集成AD域的LDAP操作步骤 打开配置文件,添加以下内 ...
- PHP设计模式系列 - 中介者模式
中介者模式 中介者模式用于开发一个对象,这个对象能够在类似对象相互之间不直接相互的情况下传送或者调解对这些对象的集合的修改.一般处理具有类似属性,需要保持同步的非耦合对象时,最佳的做法就是中介者模式. ...
- SVN那些事
非原创,引用于青松世界博客,最近在使用svn,因为方便复制内容在这查看.原地址 https://www.cnblogs.com/Rambo635755402/p/5549447.html Totois ...
- 常用的npm命令
npm ls -g 列出全局安装的所有模块 npm ls webpack -g 查看全局安装的模块版本信息 npm view webpack versions 查看npm服务器上的全部版本信息 npm ...
- 解析Array.prototype.slice.call(arguments)
在es5标准中,我们经常需要把arguments对象转换成真正的数组 // 你可以这样写 var arr = Array.prototype.slice.call(arguments) // 你还可以 ...
- active developer path ("/Applications/Xcode.app/Contents/Developer")
-> git xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer" ...
- centos 系统安装基本步骤,面试必考
1.调整开机媒体,通常为cd或者dvd,也可以是u盘. 2.选择安装模式,是否需要图形化 3.语系及键盘语系选择 4.软件选择 5.磁盘分区操作,主+扩展分区最多4个.逻辑分区在扩展分区下建立 6.时 ...
- windows内核Api的学习
windows内核api就是ntoskrnl.exe导出的函数.我们能够跟调用应用层的api一样,调用内核api. 只是内核api须要注意的是.假设函数导出了.而且函数文档化(也就是能够直接在msdn ...