Foundation框架之NSString及其Mutable类型
Foundation框架之NSString及其Mutable类型
目录
- 概述
- 对字符串的实用操作
拼接
拆分
字符串比较
是否包含某字符串
字数统计
大小写转换
- 具体的方法参见API
- 待研究
概述
对NSString的理解
对字符串的实用操作
拼接
NSString *combinedStr = [NSString stringWithFormat:@"%@%@",str0,str1];
注:本人比较倾向于使用这种方式做字符串的拼接,可扩展性强,当有新需求时只需要更改format里面的即可,增删比较方便
拆分
NSArray *strArrays = [str2 componentsSeparatedByString:@"str"];
NSArray *strArrays2 = [str2 componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"str"]];
字符串比较
不忽略大小写
[str isEqualToString:@"str"];
忽略大小写
[str caseInsensitiveCompare:@"str"] == NSOrderedSame
是否包含某字符串
不忽略大小写
NSRange range = [str rangeOfString:@"str"];
if(range.length>0){ //包含 }
忽略大小写
NSRange range = [str rangeOfString:@"str" options:NSCaseInsensitiveSearch];
if(range.length>0){ //包含 }
字数统计
字符总数
[str length];
某一字符串的个数(includeStr为查找的字符串)
实现方式一
NSArray *array = [str componentsSeparatedByString:includeStr];
NSUInteger sum = array.count - 1;
实现方式二
实现思路
每找到一个字符,下一次的寻找范围为先前找到的字符串的下一位置开始到字符串末尾,循环寻找,直至没有找到或者到字符串末尾
+ (NSUInteger)string:(NSString *)str includeStr:(NSString *)includeStr{
NSUInteger sum = 0;
NSUInteger index = 0;
NSRange range = [str rangeOfString:includeStr options:NSLiteralSearch range:NSMakeRange(0,[str length])];
while(range.length > 0){
sum += 1;
index = range.location + range.length;
//到字符末尾
if(index >= [str length]){
break;
}
range = [str rangeOfString:includeStr options:NSLiteralSearch range:NSMakeRange(index,[str length] - index)]; //注1
}
return sum;
}
注1
返回的NSRange的location为从字符串的头开始算起,而不是从index的位置开始算起
忽略大小写则只需要把两个地方的options参数更改成:NSCaseInsensitiveSearch
大小写转换
[str lowercaseString];
[str uppercaseString];
具体的方法参见API
待研究
根据字符串首字母进行排序
NSLocale
字符串的正则判断
Foundation框架之NSString及其Mutable类型的更多相关文章
- OC中Foundation框架之NSString、NSMutableString
创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- [OC Foundation框架 - 4] NSString的导出
void exportString() { NSString *str = @"Hello, 坑爹"; NSString *path = @"/Users/hello ...
- [OC Foundation框架 - 2] NSString 的创建
A. 不可变字符串 void stringCreate() { //Don't need to release memory by this way NSString *str1 = @"S ...
- [OC Foundation框架 - 5] NSString的常用方法
NSString *s1 = "; 1.比较 使用 == 号比较的是字符串地址 NSString *s4 = @"abcdefg"; NSStrin ...
- Foundation框架系列-NSString
NSString OC字符串与C语言字符串转换 NSString *str = @"Hello world ! !"; // OC字符串 --> C语言字符串 char *c ...
- OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
- Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型
Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...
- Foundation框架-NSString和NSMutableString
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式 2.3 从文件中 ...
随机推荐
- 转 AI教程 logo
版权申明:本文原创作者飞屋工作室,感谢飞屋工作室的原创分享! 这篇AI制作标志教程是一个非常实用的教程.通过这个教程飞特的朋友们将会学习到AI制作标志的流程和标志的创作思路.非常实用.推荐过来和飞特的 ...
- Flex之HTTPService组件调用
1.采用<s:HTTPService>标签来实现: <?xml version="1.0" encoding="utf-8"?>< ...
- sql-labs 分享
前段时间在网上发现了一个阿三同学托管在github上的sql注入入门科普项目,感觉挺不错,在此分享一下.虽然现在有很多工具比如sqlmap可以实现自动化的sql注入,但是个人感觉如果只知其然而不知其所 ...
- Oracle 表空间修改字段大小
1.修改字段大小 当表中已经存在数据,就不能直接修改某字段大小,需要新建一个字段来过渡 ALTER TABLE TABLE RENAME COLUMN GRP TO FUND_GRP_1; ); ...
- navigationController 之间的切换
项目要实现从一个Navigation 下push出的第N层controller后 立即切换到另一个 Navigation下 例如:在微信的通讯录Nav中选择一个好友,进入好友的详细资料,点击发消息按钮 ...
- c# 范型Dictionary实用例子
//定义 public static Dictionary<string, object> dict =new Dictionary<string, object>(); // ...
- SQL2008 SQL Server 代理服务提供的凭据无效
工作中遇到的问题记录: 安装到服务器配置时出的错误:为 SQL Server 代理服务提供的凭据无效.若要继续操作,请为 SQL Server 代理服务提供有效的帐户和密码. 解决方法:直接在所有的“ ...
- ESB的XmlProPertyMgr类的getNode(xxx)方法
//------------------------------------------------------------------------------ public static Eleme ...
- OSPF虚链路配置.示例2
先看一个拓扑图 黄色区域是area0,即骨干区域,如果如图示RT1与RT6之间的链路断了,那么会出现骨干区域被“分裂”的情况,很明显骨干区域是不能被分割开的,出现这种状况的时候可能会影响到整个自制系统 ...
- 经典CSS实现三角形图标原理解析
前言: 在写这篇文章之前,我也看过很多前端大神写的代码,But,都只是粘贴代码和给出显示效果,对于初学者来说大家都喜欢刨根问底,为什么要这样做呢? 接下来就让我给大家分享一下我对CSS实现三角形的理解 ...