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 从文件中 ...
随机推荐
- Python 时间整理
在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. 在开始之前,首先要说明这几点: ...
- 调用openoffice Com组件转换成PDF
//例子 OpenOfficeExportToPDF('file:///C:/SourceFile.odt', 'file:///C:/TargetFile.pdf'); 必须为URL格式的路径 ...
- python堡垒机
堡垒机 windows下安装python3的paramiko模块后一些报错总结: error: Unable to find vcvarsall.bat [官网对此问题的描述] : https://d ...
- 快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理
概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用. 特点(重要) 它的工作逻辑分为 链.表.规则三层结构. 数据包通过的时候,在对应表中, ...
- 版本控制:SVN中Branch/tag的使用 -摘自网络
在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆. 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别.至于何时用tag ...
- Spark的优点
Spark的一站式解决方案,非常之具有吸引力,毕竟啊,任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本. 当然,Spark并没有以牺牲性能为代价.相反,在性能方面 ...
- 异步编程之Promise(3):拓展进阶
异步编程系列教程: (翻译)异步编程之Promise(1)--初见魅力 异步编程之Promise(2):探究原理 异步编程之Promise(3):拓展进阶 异步编程之Generator(1)--领略魅 ...
- 存量数据处理结果查询.txt
请求报文:<?xml version="1.0" encoding="UTF-8"?><PDL><PDL-Head>< ...
- HDU 5705 Clock (精度控制,暴力)
题意:给定一个开始时间和一个角度,问你下一个时刻时针和分针形成这个角度是几点. 析:反正数量很小,就可以考虑暴力了,从第一秒开始暴力,直到那个角度即可,不会超时的,数目很少,不过要注意精度. 代码如下 ...
- spring html特殊字符操作
import org.springframework.web.util.HtmlUtils; /** * html特殊字符操作 * @param answer 操作default=转换为H ...