iOS网络开发工具集----字符串操作和时间操作
一、字符串的操作方法
#pragma mark - 创建字符串
- (void)CreatString
{
// <1> 创建字符串
NSString *strS = @"This is a String!"; // <2> 创建空字符串,给予赋值
NSString *strK = [[NSString alloc] init]; strK = @"This is a String!"; NSLog(@"strS:%@, strK%@",strS,strK); // <3> 使用变量初始化字符串
NSString *name = @"aofe"; NSString *strN = [NSString stringWithFormat:@"My name is %@",name]; NSLog(@"strN:%@",strN);
} #pragma mark - 判断是否包含某字符串
- (void)IsContainsString
{
NSString *str1 = @"NSStringInformation.txt"; // <1> 检查字符串是否以另一个字符串开头
[str1 hasPrefix:@"NSString"] == ? NSLog(@"YES") :NSLog(@"NO"); // <2> 检查字符串是否以另一个字符串结尾
[str1 hasSuffix:@".txt"] == ? NSLog(@"YES") :NSLog(@"NO"); // <3> 检查字符串是否包含其他字符串
[str1 rangeOfString:@"Information"].length > ? NSLog(@"YES") :NSLog(@"NO"); // <4> 检查字符串是否包含其他字符串
[str1 containsString:@"abc"]?NSLog(@"YES"):NSLog(@"NO");
} #pragma mark - 读写字符串
-(void)WriteAndReadString
{
// 文件路径
NSString *path = @"wenJianQuanLuJing"; // <1> 从文件读取字符串
NSString *strW = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL]; // <2> 将字符串写入到文件
[strW writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:NULL];
} #pragma mark - 比较两个字符串
-(void)ComparerTwoString
{
NSString *str1 = @"This is String1"; NSString *str2 = @"THIS is String2"; // 比较两个字符串是否相等
BOOL result1 = [str1 isEqualToString:str2]; // 比较两个字符串(comparer方法返回三种值:NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending) NSComparisonResult result2 = [str1 compare:str2]; // 不考虑大小比较字符串
NSComparisonResult result3 = [str1 caseInsensitiveCompare:str2]; NSLog(@"result1:%d,result2:%ld,result3:%ld",result1,(long)result2,(long)result3); } #pragma mark - 改变字符串的大小写
-(void)ChangeStringCase
{
NSString *str1 = @"this is string1";
NSString *str2 = @"THIS IS STRING2"; // 全部大写
[str1 uppercaseString]; // 全部小写
[str2 lowercaseString]; // 首字母大写
[str1 capitalizedString];
} #pragma mark - 在字符串中搜索子串
-(void)SearchString
{
NSString *str1 = @"This is String1";
NSString *str2 = @"is"; NSRange range = [str1 rangeOfString:str2]; NSLog(@"location:%lu,length:%lu",(unsigned long)range.location,(unsigned long)
range.length); } #pragma mark - 替换字符串
-(void)ReplaceString
{
NSString *strL = @"hello china"; NSString *strN = [strL stringByReplacingOccurrencesOfString:@"china" withString:@"beijing"]; NSLog(@"strL:%@,strN:%@",strL,strN);
} #pragma mark - 分隔字符串成数组
-(void)ComponentsString
{
NSString *str = @"a b c d e";
// 以空格分隔字符串成数组
NSArray *arr = [str componentsSeparatedByString:@" "]; NSLog(@"arr:%@,arr.count:%lu",arr,(unsigned long)arr.count); } #pragma mark - 数组拼接成字符串
-(void)ArrayToString
{
NSArray *array = [NSArray arrayWithObjects:@"this",@"is",@"String", nil];
// 用空格隔开数组中的元素
NSString *str = [array componentsJoinedByString:@" "]; NSLog(@"str:%@",str);
} #pragma mark - 从字符串中抽取出新的字符串
-(void)DrawNewString
{
NSString *str = @"This is String";
// 从字符串的开头一直截取到指定位置,但不包括该位置的字符.
NSString *str1 = [str substringToIndex:]; // 从指定位置开始(包括自定位置的字符串)一直到最后
NSString *str2 = [str substringFromIndex:]; // 按照所给定的位置和长度,任意的从字符串中截取新的字符串
NSString *str3 = [str substringWithRange:NSMakeRange(, )]; NSLog(@"str1:%@,str2:%@,str3:%@",str1,str2,str3);
}
二、可变字符串
- (void)NSMutableStringOperation
{
// 给字符串分配容量
NSMutableString *strM = [NSMutableString stringWithCapacity:];
NSLog(@"strM:%@",strM); // 在已有的字符串后面添加字符串
NSMutableString *strM1 = [[NSMutableString alloc] initWithString:@"This is a"];
NSLog(@"strM1:%@",strM1); [strM1 appendString:@"NSMutableString"];
NSLog(@"strM1:%@",strM1); // 在已有字符串中按照所给出的范围和长度删除字符
[strM1 deleteCharactersInRange:NSMakeRange(, )];
NSLog(@"strM1:%@",strM1); // 在字符串指定位置插入字符串
[strM1 insertString:@"Hello" atIndex:];
NSLog(@"strM1:%@",strM1); // 将已有字符串替换成其他字符串
[strM1 setString:@"Hello World"];
NSLog(@"strM1:%@",strM1); // 按照所给出的范围,用新字符串替换原来的字符串
[strM1 replaceCharactersInRange:NSMakeRange(, ) withString:@"Hi"];
NSLog(@"strM1:%@",strM1);
}
三、时间操作
- (void)NSDateOperation
{
// 得到当前日期
NSDate *date1 = [NSDate date];
NSLog(@"date:%@",date1); NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:]; // 得到当前时间:coreFoundation框架方法 double currentTime =CFAbsoluteTimeGetCurrent(); // 比较日期: // <1> 比较日期是否相同
BOOL result =[date1 isEqualToDate:date2]; // <2> 比较日期 返回时间较早的日期
NSDate *dateE = [date1 earlierDate:date2]; // <3> 比较日期 返回时间较晚的日期
NSDate *dateL = [date1 laterDate:date2]; NSLog(@"result:%d, dateE:%@, dateL:%@",result,dateE,dateL); // 设置日期的格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // 设置几种默认的显示效果
[formatter setTimeStyle:NSDateFormatterMediumStyle]; //自定义日期显示效果,H大写为24小时计时
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *time = [formatter stringFromDate:date1]; NSLog(@"%@",time); }
iOS网络开发工具集----字符串操作和时间操作的更多相关文章
- IOS开发之网络开发工具
IOS开发之网络开发工具 做移动端开发 常常会涉及到几个模块:1.网络检測 2.网络请求get和post请求 3.文件上传 4.文件下载 5.断点续传 如今将这些一一分享给大家 ,也欢迎 ...
- 开发工具IntelliJ IDEA的安装与操作
开发工具IntelliJ IDEA的安装与操作 1.1 开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就 ...
- Open Source 开发工具集
Open Source 开发工具集 转自:http://www.linuxforum.net原作者:gogoliu(Pooh-Bah) 编辑器: vi:老牌编辑器,在各个unix和unix-like平 ...
- 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019
Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...
- IOS网络开发概述
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- Visual Studio 2015和ASP.NET 5中可用的前端开发工具集
最近微软发布了一本白皮书,谈到了一些可以和Visual Studio 2015和ASP.NET 5配合使用的JS/前端Web开发工具(比如:函数库.任务执行器.框架等). 由于现在前端开发的生态系统在 ...
- iOS程序员的React Native开发工具集
本文整理了React Native iOS开发过程中有用的工具.服务.测试.库以及网站等. 工具 你可以选择不同的开发环境:DECO.EXPO或者你可以使用Nuclide+Atom,目前我使用EXPO ...
- IOS网络开发(三)
1 飞机航班查询软件 1.1 问题 NSURLConnection是IOS提供的用于处理Http协议的网络请求的类,可以实现同步请求也可以实现异步请求,本案例使用NSURLConnection类实现一 ...
- IOS网络开发实战(二)
1 飞机航班查询软件 1.1 问题 NSURLConnection是IOS提供的用于处理Http协议的网络请求的类,可以实现同步请求也可以实现异步请求,本案例使用NSURLConnection类实 ...
随机推荐
- iOS开发中如何实现同步、异步、GET、POST等请求实操演示!
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...
- oracle 外部表及解决ora-29400,ora-29913错误
对外部表的理解及测试,,,,如有理解不正确请大家指正 语法: create table 表名( 列名1,列名2,...... ) organization external ###说明创建外部表 ( ...
- Centos6.7 编译安装 MySQL教程
Centos6.7 编译安装 MySQL # 安装依赖包 [root@localhost ~]# yum -y install gcc gcc-c++ autoconf* automake* zlib ...
- scss基础
1.变量$ 全局 局部 .div{ $color:yellow; } 2.类似函数@mixin border-radius($radius) { }引用:@include border-radius( ...
- Sping bean的作用域
单例(Singleton):在整个应用中,只创建bean的一个实例.(默认) 原型(Prototype):每次注入或者通过Sping应用上下文获取的时候,都会创建一个新的bean. 回话(Sessio ...
- BZOJ 3489: A simple rmq problem KDtree
Code: #include<bits/stdc++.h> #define maxn 200000 #define inf 100000000 #define mid ((l+r)> ...
- yum插件
参考文章: http://www.linuxfly.org/post/297/ [root@dnstest07.tbc /home/ahao.mah] #rpm -qa |grep yum yum-p ...
- 12. tie_breaker的使用原因和使用方法
主要知识点: tie_breaker的使用原因和使用方法 一.tie_breaker的使用原因 dis_max,只是取分数最高的那个query的分数而已,完全不考虑其他query的分数 ...
- scrapy实例matplotlib脚本下载
利用scrapy框架实现matplotlib实例脚本批量下载至本地并进行文件夹分类:话不多说上代码: 首先是爬虫代码: import scrapy from scrapy.linkextractors ...
- [USACO16OPEN]关闭农场Closing the Farm(洛谷 3144)
题目描述 Farmer John and his cows are planning to leave town for a long vacation, and so FJ wants to tem ...