Objective-c:NSString的常用方法
Nsstring提供了很多常用的方法,下面演示代码:
//------------------------------------------------------------------简单的方法
void baseMethod(){
NSString *base = @"i'm is Base Method";
NSLog(@"%@",base);
//变成大写
base= [base uppercaseString];
NSLog(@"%@",base);
//转换成小写
base = [base lowercaseString];
NSLog(@"%@",base);
//首字母大写
base = [base capitalizedString];
NSLog(@"%@",base);
}
//------------------------------------------------------------------比较方法
void compare(){
NSString *compareObject = @"Object";
//isEqualToString方法是比较内容是否一样
BOOL result = [compareObject isEqualToString:@"Object"];
if(result){
NSLog(@"一样");
}else {
NSLog(@"不一样");
}
//比较两个字符串的的大小,返回结果是一个枚举类型,所以千万别用指针来接受
NSComparisonResult result2 = [compareObject compare:@"object"];
if(result2 == NSOrderedAscending){
NSLog(@"第一个比第二个字符串大");
}elseif(result2 ==NSOrderedDescending){
NSLog(@"第二个比第一个字符串大");
}elseif(result2 == NSOrderedSame){
NSLog(@"一样");
}
//忽略大小写进行比较
NSComparisonResult result3= [compareObject caseInsensitiveCompare:@"object"];
if(result3 == NSOrderedAscending){
NSLog(@"第一个比第二个字符串大");
}elseif(result3 ==NSOrderedDescending){
NSLog(@"第二个比第一个字符串大");
}elseif(result3 == NSOrderedSame){
NSLog(@"一样");
}
}
//------------------------------------------------------------------查找的方法
void nsstringSearch(){
NSString *string = @"book.txt";
//判断是否以指定字符串结尾
BOOL result = [string hasSuffix:@".txt"];
//判断是否以指定字符串开发
result = [string hasPrefix:@"book2"];
if(result){
NSLog(@"yes");
}else{
NSLog(@"No");
}
//根据指定的字符串进行查找位置
NSString *string2 =@"book this is book";
NSRange rang= [string2 rangeOfString:@"book"];
NSLog(@"location:%zi",rang.location);
NSLog(@"length:%zi",rang.length);
//根据方向,对指定的字符串进行查找位置。
rang= [string2 rangeOfString:@"book"options:NSBackwardsSearch];
NSLog(@"location:%zi",rang.location);
NSLog(@"length:%zi",rang.length);
//指定范围进行搜索,进行查找
NSString *string3 = @"book is the book";
NSRange rang4 = NSMakeRange(4, 12);
rang= [string3 rangeOfString:@"book"options:NSBackwardsSearchrange:rang4];
NSLog(@"location:%zi",rang.location);
NSLog(@"length:%zi",rang.length);
}
//------------------------------------------------------------------字符串截取
void stringSplit(){
NSString *string = @"hello world";
//根据范围进行截取字符串
NSString *result = [string substringWithRange:[string rangeOfString:@"hello"]];
//根据指定的位置进行截取字符串(包含指定位置的字符串)
result= [string substringFromIndex:3];
//从第一位开始截取到指定的位置
result= [string substringToIndex:2];
NSLog(@"%@",result);
NSString *number=@"1-2-3-4-5-6-7-8-9";
//根据份分割符进行分割字符串
NSArray *arry= [number componentsSeparatedByString:@"-"];
NSLog(@"%@",arry);
}
//------------------------------------------------------------------路径类的方法
void stringPat(){
// 将数组中的参数拼凑成地址
NSArray *array = [[NSStringstringWithUTF8String:"-Users-calvin-Desktop"]componentsSeparatedByString:@"-"];
NSString *path= [NSStringpathWithComponents:array];
NSLog(@"%@",path);
//讲地址分割成数组
array = [path pathComponents];
NSLog(@"%@",array);
//判断是否绝对路径,其实就是判断开头是否未“/”。
bool bo= [path isAbsolutePath];
if(bo){
NSLog(@"是");
}else{
NSLog(@"否");
}
//获取最后一个目录
NSString *dir= [path lastPathComponent];
NSLog(@"%@",dir);
//删除最后一个目录
dir= [path stringByDeletingLastPathComponent];
NSLog(@"%@",dir);
//最后增加一个目录,系统会自动加上"/",不用自己加上
dir = [path stringByAppendingPathComponent:@"我的目录"];
NSLog(@"%@",dir);
}
//------------------------------------------------------------------转换的方法
void stringBaseMethod(){
NSString *string =@"do you know the Object-c";
//获取字符串的长度,返回结果可以使用int类型进行接收,但是OC不建议我们这样接收。因为NSUInteger就是一个无符号long类型。强把long类型转换成int类型会出现缺失数据。
NSUInteger length = [string length];
NSLog(@"%zi",length);
//获取指定位置的字符
unichar charAt = [string characterAtIndex:5];
NSLog(@"%c",charAt);
//把字符串转换成int对象
NSString *number =@"23";
NSUInteger numbers = [number intValue];
NSLog(@"%zi",numbers);
//转换成double类型
double doubles = [number doubleValue];
NSLog(@"%f",doubles);
//转换成float类型
float floats = [number floatValue];
NSLog(@"%f",floats);
//转换成常量的C语言字符串
constchar* charString = [number UTF8String];
NSLog(@"%s",charString);
}
转载于:https://blog.51cto.com/8551527/1397501
Objective-c:NSString的常用方法相关推荐
- OC中的NSNumber、NSArray、NSString的常用方法
和C语言不同,在Objective-C语言中,有单独的字符串类NSString.C语言中,string是由 char(ASCLL码)字符组成 OC中,字符串是由unichar(Unicode)字符组成 ...
- [转]Iphone NSString字符串常用方法
/******************************************************************************************* NSStrin ...
- OC中NSString 的常用方法
NSString *str1 = @"BeiJing";NSString *str2 = @"beijing";//全部转为大写NSLog(@"%@& ...
- NSString 截取字符串
NSString字符串常用方法 2010-09-06 14:18 /****************************************************************** ...
- iOS-WKWebView的使用
参考文章:http://www.cocoachina.com/ios/20180831/24753.html WK时苹果在iOS8.0之后推出的控件,相比于UIWebView: 内存消耗少: 解决了网 ...
- iOS开发之应用首次启动显示用户引导 - 疯狂的萝卜 - 博客园
iOS开发之应用首次启动显示用户引导 这个功能的重点就是在如何判断应用是第一次启动的. 其实很简单 我们只需要在一个类里面写好用户引导页面 基本上都是使用UIScrollView 来实现, 新建一个 ...
- HMACSHA512
HMACSHA 512 在Java .NET Objective – C Java private final static String algorithm = "HMACSHA512&q ...
- (转载)中文Appium API 文档
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...
- 中文 Appium API 文档
该文档是Testerhome官方翻译的 源地址:https://github.com/appium/appium/tree/master/docs/cn 官方网站上的:http://appium.io ...
- IOS开发学习周报(一)
IOS开发学习周报(一) 学习记录 概括 熟悉在Mac OS下的开发操作,熟悉系统操作.了解相关快捷键以及触摸板快捷操作以便提高后续开发效率. 学习Objective-C相关语法,实操完成螺旋矩阵的算 ...
最新文章
- php socket 握手,python Socket之客户端和服务端握手详细介绍
- BZOJ2087 : [Poi2010]Sheep
- java 线程间通信 handler_Handler不同线程间的通信
- Oracle 练习题 20131017
- 一文让你掌握神经网络训练技巧
- 【华为云技术分享】敏捷开发落地不实际?原因可能在于你的 IDE 工具
- request.getContextPath()
- 系统服务器ping偶尔超时,云服务器ping超时原因
- Crystal Ball—蒙地卡罗仿真软件
- IPEX: SMA/UFL/IPEX/IPX接头,各代区别
- python知识图谱构建
- 一款开源的支持离线的支持MarkDown的优秀笔记软件----思源笔记
- redis知识盘点【陆】_客户端Jedis
- 你还在为不知道怎么给家人庆祝生日而发愁吗?
- 新鲜新奇事物_尝试新鲜事物的唯美句子
- UnRaid虚拟机安装Uos家庭版并由Windows远程桌面访问的成功流程
- 广东药科大学计算机专业分数线,2016广东药科大学录取分数线_省内分数线
- 简化开发流程--UEditor富文本编辑器
- Ubiquiti MAC Address Changer 3.0 Crack
- win10的系统path环境变量被删除了怎么恢复
热门文章
- 由于Web服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面(http error 404.2、iis、0x800704ec)...
- Django学习-22-Form
- 如何查看mysql数据库的端口
- jQuery firefox chrome IE 绑定mousewheel事件
- SSO之CAS单点登录实例演示
- 基础—机器学习—softMax regression
- 响应式微服务架构-分布式系统设计原则
- react-native android 和ios 集成 jpush-react-native 激光推送
- PopupWindwo和AlertDialog的区别
- vs2005下使用ASPNetPage分页的例子1