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类实 ...
随机推荐
- JS——缓动动画
核心思想: (1)相对于匀速移动,盒子每次移动的步长都是变化的,公式:盒子位置=盒子本身位置+(目标位置-盒子本身位置)/10 (2)在盒子位置与目标距离小于10px时,其步长必然是小数,又由于off ...
- 18清明校内测试T1
消失的数字(number) Time Limit:1000ms Memory Limit:128MB 题目描述 rsy拥有n个数,这n个数分别是a1,a2,…,an. 后来出现了一个熊孩子zhw, ...
- models中字段参数blank和null的用法区别
blank当blank=True时,说明此处的数据可以不填,默认情况下为False,也就意味着默认情况下,所输入的数据不得空,blank是和页面表单有关,在页面需要输入参数的时候,如果在models里 ...
- JavaScript学习笔记之对象
目录 1.自定义对象 2.Array 3.Boolean 4.Date 5.Math 6.Number 7.String 8.RegExp 9.Function 10.Event 在 JavaScri ...
- Problem 30
Problem 30 https://projecteuler.net/problem=30 Surprisingly there are only three numbers that can be ...
- python BeautiulSoup
==============================================查找网页中<a>标签中的链接from bs4 import BeautifulSoup with ...
- 【codeforces 792D】Paths in a Complete Binary Tree
[题目链接]:http://codeforces.com/contest/792/problem/D [题意] 给你一棵满二叉树; 给你初始节点; 给你若干个往上走,左走,右走操作; 让你输出一系列操 ...
- Android学习总结(5)——9个非常有用的Andorid 程序片段
一,获取系统版本号: PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0); int ...
- mysql 数据的某个范围数据
select * from table_name where limit num1, num2; num1 : 开始条目 num2 :选择数目
- [Bzoj4196] [NOI2015] 软件包管理器 [树链剖分,线段树]
题解摘要:树链剖分后用线段树区间查询修改,对于安装软件,将改点到根的路径全部变为1,对于卸载软件,将子树清空.注意边界,编号是从0开始的,容易漏掉树根. 第一次写树剖- #include <io ...