Foundation——字符串
NSString创建字符串
NSString 的string WithFormat:方法 是通过格式字符串和参数来创建的。 原形 +(id)string WithFormat:(NSString*)format;
创建字符串的三种方式:
是类方法用类名去调用的。
+(id)stringWithFormat:(NSString *)format,……; 单词format :格子字符
NSString *str=@"中国人,my";//现在常用的方法
NSLog(@"%@",str);
NSString *string1=[NSString stringWithFormat:@"Your height is %ifeet,%i inches",5,11];//这个方法可以加格式控制符之类的。如%i ,很重要的。
NSLog(@"%@",string1);
NSString *str2=[NSString stringWithString:@"Your height is 5 feet,11 inches"];//这是要淘汰的方法。等效于第1种方法。
NSLog(@"%@",str2);
//初始化的方法。
char name[20];
scanf("%s",name);
NSString *str2=[[NSStringalloc]initWithString:@"你好"];//淘汰的方法
NSString *str3=[[NSStringalloc]initWithFormat:@"你好%s",name];
NSLog(@"%@",str3);
字符串长度 length
它返回字符串的字符个数。
NSLog(@"%lu",[str length]);
NSLog(@"%lu",[string1 length]);
NSLog(@"%lu",[str2 length]);
//也可以在表达式中使用它。
if ([str length]>35)
{
NSLog(@"hehe");
}
字符串比较
isEqualToString:表示两个字符串的内容是否相同。可以用来比较接收方(接收消息的对象)和当作参数传递来的字符串。isEqualToSting:返回一个BOOL(YES或NO),型数据来表示两个字符串的内容是否相同。
原形: -(BOOL) isEqualToString:(NSString*)astring;
ISEqualTOstring判断两个字符串是否相等,返回BOOL类型。
NSString *str3=@"hello 5";
NSString *str4=[NSString stringWithFormat:@"hello %i",5];
if ([str3 isEqualToString:str4])//判断两个字符串是否相等。
{
NSLog(@"They are the same!");
}
--------------------------------------------------------------------------------------------
要比较两个字符串,可以使用compare:方法:
-(NSComparisonResult) compare:(NSString*)string;
compare是逐个进行字符比较,是按ASCII码的方法去比较。
compare等效于c的strcmp字符串比较大小。返回的NSComparisonResult型数据
NSOrderedAscending :左侧字符串小于右侧字符串
NSOrderedSame :左侧字符串等于右侧字符串
NSOrderedDescending:左侧字符串大于右侧字符串。
NSString *thing1=@"abc";
NSString *thing2=@"abd";
if ([thing1 compare:thing2]==NSOrderedAscending )//NSOrderedAscending :左侧字符串小于右侧字符串
{
NSLog(@"thing1<thing2");
}
if ([thing1 compare:thing2]==NSOrderedSame)//NSOrderedSame :左侧字符串等于右侧字符串
{
NSLog(@"thing1=thing2");
}
if ([thing1 compare:thing2]==NSOrderedDescending)//NSOrderedDescending:左侧字符串大于右侧字符串。
{
NSLog(@"thing1>tihing2");
}
compare:options:方法。options是个条件,
-(NSComparisonResult) compare:(NSString*)string options:(unsigned)mask;
options参数是一个位掩码,可以使用位运算符(|)来添加选项标记。
NSCaseInsensitiveSearch //不区分大小写
NSLiteralSearch //区分大小写。
NSNumericSearch //数值比较。
NSString *th1=@"abc";
NSString *th2=@"abC";
if ([th1compare:th2options:NSCaseInsensitiveSearch|NSNumericSearch]==NSOrderedSame)
{
NSLog(@"They match!");
}
============================================================================================
字符串的查找
prefix:前缀,suffix:后缀。
hasPrefix:检查字符串是否有另一个字符串开头,
hasSuffix:检查字符串是否有另一个字符串结尾。
NSString *filename=@"draft-chapter.mov";//判断前缀是否有 draft头用的很少。
if ([filename hasPrefix:@"draft"])
{
NSLog(@"draft is prefix");
}
if ([filename hasSuffix:@".mov"])//判断后缀是否有.mov 尾经常使用的。
{
NSLog(@".mov is suffix");
}
rangeOfString,判断中间是否有。
-(NSRange)rangeOfString:(NSString*)astring 返回的是结构体变量。
NSString *filename1=@"draft-chapter.pages";
NSRange range5;
range5=[filename1 rangeOfString:@"chapter"];
NSLog(@"%lu ,%lu",range5.location,range5.length);
小写改大写 uppercaseString
NSString *res;
res=[filename uppercaseString];//小写改大写。
NSLog(@"%s",[res UTF8String]);
大写改小写lowercaseString;
NSString *xiaoxie;
xiaoxie=[res lowercaseString];//大写改为小写
NSLog(@"%@",[xiaoxie lowercaseString]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSString是常量不可改变的。
mutable可变的 capacity容量的。
NSMutableString是nsstring的字类。
NSMutableString是用来创建可变字符串。
+(id)stringWithCapacity:(unsigned) capacity;
这个容量只是给NSMutableString的一个建议,字符串的大小并不仅限于所提供的容量,这个容量仅是个最优值。
附加字符串
appendString:接收参数,然后将其复制到接收对象的末尾。
appendFormat:的工作方式与stringWithFormat:类似,但它将格式化的字符串附加到接收字符串的末尾,而不是创建新字符串对象。
-(void)appendStrin:(NSString*)aStrin;//普通添加。
-(void)appendFormat:(NSString*)aStrin; //带格式控制字符串的方式。
NSMutableString *string2;
string2=[NSMutableString stringWithCapacity:50];
[string2 appendString:@"Hello there "];//普通附加
NSLog(@"%@",string2);
[string2 appendFormat:@"human %d",39];//用带格式控制字符串的方式。
NSLog(@"%@",string2);
插入字符串
-(void)insertString:(NSString*)aString atIndex:(NSUInteger)loc;
//第一个参数是要插入的字符串,第二个参数是要插入的位置
[string2insertString:@"world "atIndex:6];
NSLog(@"%@",string2);
替换字符串
-(void)replaceCharacterInRange:(NSRange) withString:(NSString*)aString;
NSRange range6=[string2rangeOfString:@"human"];//查找human在字符串中的范围。
[string2 replaceCharactersInRange:range6 withString:@"are"];//替换字符串。
NSLog(@"%@",string2);
删除字符串
NSRange range7=[string2 rangeOfString:@"Hello"];
[string2 deleteCharactersInRange:range7];
NSLog(@"%@",string2);
//删除指定位置。
NSRange range8= NSMakeRange(3,2);
[string2 deleteCharactersInRange:range8];
NSLog(@"%@",string2);
Foundation——字符串相关推荐
- Objective-C Foundation——字符串
NSString创建字符串 NSString 的string WithFormat:方法 是通过格式字符串和参数来创建的. 原形 +(id)string WithFormat:(NSString ...
- 研读 项目名-LinkMap-normal-x86_64.txt
一.生成 Link Map File 在Xcode的配置中 Target -> Build Setting -> Linking 将Write Link Map File设置为YES来生成 ...
- iOS调优 | 深入理解Link Map File
Link Map File初识 我们编写的源码需要经过编译.链接,最终生成一个可执行文件.在编译阶段,每个类会生成对应的.o文件(目标文件).在链接阶段,会把.o文件和动态库链接在一起.Link Ma ...
- linkMap深度解析
# Symbols: # Address Size File Name 这里表明了当前的方法所属的文件和占用内存的大小 # Object files: 这个文件表明了上述file中的序号和对应的文件名 ...
- MAC版E信心跳包加密KEY的逆向
在开始正题前先扯点别的吧,这篇博文本来应该在几个月前我还在校的时候就写的,但由于我当时懒得去写博客,加之在我逆向出MAC版E信心跳包加密KEY之后的下一周SimpleNetkeeper作者就在GitH ...
- Mach-O结构分析
可执行文件 我们运行一个程序(进程)是把一些特殊文件在内存中加载并运行得到的结果.那么这类文件的格式必须是系统内核可以理解的,系统内核才能正确解析.这类文件被称为可执行的文件. 不同操作系统的可执行文 ...
- MachO dyld(二)
目录 Mach 微内核 MachO 文件结构 Header(头部) LoadCommands(加载命令) Mach 微内核 macOS && iOS 进化史 Mac OS Classi ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- OpenCASCADE:Foundation Classes之集合、字符串、数量和单位转换
OpenCASCADE:Foundation Classes之集合.字符串.数量和单位转换 集合 概述 数组和序列 maps 迭代器 分配器 Acceleration结构 标准对象的集合 字符串 数量 ...
最新文章
- 开源依旧:再次分享一个进销存系统
- Cell | 小基因开启微生物组研究新领域——大规模鉴定微生物基因组编码的小蛋白质...
- 计算机丢失wininet,win7系统启动程序提示因为计算机中丢失wininet.dll的解决方法...
- 【UOJ#188】Sanrd(min_25筛)
- css英文左右对齐,中文英文左右padding一致两端对齐实现_js
- ASP.NET使用数据库存储、读取并修改图片
- MySQL read-c_技术分享 | MySQL C API 参数 MYSQL_OPT_READ_TIMEOUT 的一些行为分析
- HDU6292 赛题分析【水题】
- iOS设计模式之代理模式
- 学习unity的几个网站
- 蒙特卡罗类型概率算法
- python爬取酷狗音乐_python使用beautifulsoup4爬取酷狗音乐代码实例
- Spring AOP编程官方文档解读之操作Advised对象
- SPSS实现系统聚类
- 在Hyper-V中手动将.avhd合并到.vhd
- 关于洛谷哪些题目(入门)
- 洒扫庭除,恭候佳朋 ——知象光电欢迎广大来宾莅临TCT展会知象展位
- 小米手机连接无线无服务器,小米手机wifidns怎么设置
- 泛微OA V8 SQL注入漏洞和文件上传漏洞
- NEWS|药物发现公司正在定制ChatGPT:方法如下