iOS NSString相关问题
1.NSString对象的创建
// 1.创建不可变字符串
NSString *str1 = @"create string";
#pragma mark 对象方法创建字符串
// 2.用另一个字符串初始当前字符串,指针所指地址相同
NSString *str2 = [[NSString alloc] initWithString:str1];
// 3.将其他的数据类型转化为字符串类型
NSString *str3 = [[NSString alloc] initWithFormat:@"Age is %d, Name is %@", 24, @"nick"];
#pragma mark 类方法创建字符串
// 4.该方法与initWithString方法对应
NSString *str4 = [NSString stringWithString:str1];
// 5.该方法与initWithFormat方法对应
NSString *str5 = [NSString stringWithFormat:@"Age is %d, Name is %@", 24, @"nick"];
NSLog(@"log-str1=%@-str2=%@-str3=%@-str4=%@-str5=%@",str1,str2,str3,str4,str5);
2.字符串的拼接
NSString *string1 = @"shang";
NSString *string2 = @"hai";
//- (NSString *)stringByAppendingString:(NSString *)aString;
//作用:将两个字符串进行拼接
//两个拼接的字符串都没有变,返回值是拼接后的字符串
NSString *string3 = [string1 stringByAppendingString:string2];
NSString *string4 = [NSString stringWithFormat:@"%@%@", string1, string2];
3.计算字符串的长度
NSString *string = @"shang-hai nice";
NSUInteger lenth = [string length];
NSLog(@"%zd",lenth);
4.取出字符串中对应位置的引用
NSString *string = @"zhou dong yu";
NSUInteger position = 1;
char character = [string characterAtIndex:position];
NSLog(@"%c",character);
5.在字符串中查找子串的位置
NSString *string1 = @"shang hai dong fang ming zhu";
NSString *string2 = @"ming";
//- (NSRange)rangeOfString:(NSString *)aString;
//作用:在一个字符串中查找子串的位置
//typedef struct _NSRange {
// NSUInteger location; 起始位置
// NSUInteger length; 从起始位置开始的长度
//} NSRange;
NSRange range = [string1 rangeOfString:string2];
if (range.location == NSNotFound) {
NSLog(@"没有找到");
}
NSLog(@"location is %lu, length is %lu", range.location, range.length);
6.字符串的比较
NSString *string1 = @"chen chao";
NSString *string2 = @"CHAN CHAO";
#if 0
//- (BOOL)isEqualToString:(NSString *)aString;
//作用:比较两个字符串是否完全相同
//BOOL:YES(真), NO(假)
BOOL bl = [string1 isEqualToString:string2];
if (bl) {
NSLog(@"string1 == string2");
} else{
NSLog(@"string1 != string2");
}
#endif
#if 0
//- (NSComparisonResult)compare:(NSNumber *)decimalNumber;
//作用:比较两个字符串是否相同(不忽略大小写)
//NSComparisonResult:NSOrderedAscending(升序)
// NSOrderedSame(相同)
// NSOrderedDescending(降序)
NSComparisonResult result = [string1 compare:string2];
if (result == NSOrderedDescending) {
NSLog(@"string1 < string2");
} else if (result == NSOrderedAscending) {
NSLog(@"string1 > string2");
} else {
NSLog(@"string1 == string2");
}
#endif
//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;
//作用:比较两个字符串是否相同(忽略大小写)
NSComparisonResult result = [string1 caseInsensitiveCompare:string2];
if (result == NSOrderedDescending) {
NSLog(@"string1 < string2");
} else if (result == NSOrderedAscending) {
NSLog(@"string1 > string2");
} else {
NSLog(@"string1 == string2");
}
iOS NSString相关问题的更多相关文章
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- iOS网络相关零散知识总结
iOS网络相关零散知识总结 1. URL和HTTP知识 (1) URL的全称是Uniform Resource Locator(统一资源定位符). URL的基本格式 = 协议://主机地址/路径 ...
- iOS开发经验相关知识
一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...
- iOS app 支持HTTPS iOS开发者相关
2016年12月21日更新开发者中心链接https://developer.apple.com/news/?id=12212016b该链接是苹果昨天刚在官网给的正式回复 如下: App Transpo ...
- iOS通讯录相关知识-浅析
本文来自于:贞娃儿的博客 http://blog.sina.com.cn/zhenwawaer 在开发一些应用中,我们如果需要iPhone设备中的通讯录信息.或者,需要开发通讯录相关的一些功能.那 ...
- NSString相关操作
//创建一个字符串对象 NSString * str_1 = @"Hello"; //字面量方法 ; NSString * str_2 = [NSString stringWith ...
- iOS,视图相关
1.移除视图的所以子视图 2.自定义视图(UIView) 3.处理悬浮窗口(类似微信视频),等比缩放 4.自定义前面视图(可以手写字) 5.图片拉伸的几种方式,计算文本占用空间大小 6.UILable ...
- 一文让你彻底了解iOS字体相关知识
写本文的契机主要是把自己整理的关于iOS字体方面的知识不断更新写在这篇博文中,用来自己以后查阅. 一.iOS原生字体展示 在label中选择字体的font,并把font由system改成custom后 ...
- iOS - 直播相关文章
直播相关文章 直播RTMP可用于测试的服务器地址 FFmpeg avdumpformat输出的tbn.tbc.tbr.PAR.DAR的含义 FFmpeg 3.0 计算视频时长 HLS Streamin ...
随机推荐
- jackson序列化字段字母大小写及字段名重复
一:Jackson默认的属性发现规则将会查找到如下所述的属性: 1.所有被public修饰的字段(成员变量): 2.所有被public修饰的getter(即形如“getXxx()”的方法): 3.所有 ...
- jquery 弹窗插件 layer 常见接口
源自:https://www.cnblogs.com/teamobaby/p/3556584.html 常见接口如下: 方法名 描述 $.layer({}) 核心接口,参数是一个对象,对象属性参见上述 ...
- 转载:Service Mesh:重塑微服务市场--敖小剑
转载地址:https://skyao.io/talk/201805-service-mesh-rebuild-microservice-market/ 重点: 不要太过关注 Service Mesh ...
- Dockerfile 设置语言包
最近使用Hangfire的Dashboard, 在本地调试时,显示的是中文,但是通过docker在kubernetes上运行时,就显示成英文了, 怀疑是docker运行环境中没有设计默认的语言包: 我 ...
- ThinkPHP开发笔记-用户登录注册
1.修改模块配置,Application/当前模块名/Conf/config.php <?php return array( //数据库配置信息 'DB_TYPE' => 'mysql', ...
- RabbitMQ 之消息确认机制(事务+Confirm)
概述 在 Rabbitmq 中我们可以通过持久化来解决因为服务器异常而导致丢失的问题,除此之外我们还会遇到一个问题:生产者将消息发送出去之后,消息到底有没有正确到达 Rabbit 服务器呢?如果不错得 ...
- Huffuman Coding (哈夫曼编码)
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种.Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头 ...
- PHP运算符-算术运算符、三元运算符、逻辑运算符
运算符是用来对变量.常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作.PHP的运算符包括算术运算符.字符串运算符.赋值运算符.位运算符.逻辑运算符.比较运算符.递增或递减运算符.错误控制 ...
- Excel如何关闭进程
在使用Microsoft.Interop.Excel对象的时候_application.Quit()并不能彻底关闭Excel进程,原因是没有释放掉非托管组建的引用. System.Runtime.In ...
- Codeforces Round #378 (Div. 2)F - Drivers Dissatisfaction GNU
http://codeforces.com/contest/733/problem/F 题意:给你一些城市和一些路,每条路有不满意程度和每减少一点不满意程度的花费,给出最大花费,要求找出花费小于s的最 ...