一、字符串的操作方法

#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网络开发工具集----字符串操作和时间操作的更多相关文章

  1. IOS开发之网络开发工具

    IOS开发之网络开发工具 做移动端开发  常常会涉及到几个模块:1.网络检測   2.网络请求get和post请求  3.文件上传  4.文件下载   5.断点续传 如今将这些一一分享给大家 ,也欢迎 ...

  2. 开发工具IntelliJ IDEA的安装与操作

    开发工具IntelliJ IDEA的安装与操作 1.1 开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就 ...

  3. Open Source 开发工具集

    Open Source 开发工具集 转自:http://www.linuxforum.net原作者:gogoliu(Pooh-Bah) 编辑器: vi:老牌编辑器,在各个unix和unix-like平 ...

  4. 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019

    Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...

  5. IOS网络开发概述

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  6. Visual Studio 2015和ASP.NET 5中可用的前端开发工具集

    最近微软发布了一本白皮书,谈到了一些可以和Visual Studio 2015和ASP.NET 5配合使用的JS/前端Web开发工具(比如:函数库.任务执行器.框架等). 由于现在前端开发的生态系统在 ...

  7. iOS程序员的React Native开发工具集

    本文整理了React Native iOS开发过程中有用的工具.服务.测试.库以及网站等. 工具 你可以选择不同的开发环境:DECO.EXPO或者你可以使用Nuclide+Atom,目前我使用EXPO ...

  8. IOS网络开发(三)

    1 飞机航班查询软件 1.1 问题 NSURLConnection是IOS提供的用于处理Http协议的网络请求的类,可以实现同步请求也可以实现异步请求,本案例使用NSURLConnection类实现一 ...

  9. IOS网络开发实战(二)

      1 飞机航班查询软件 1.1 问题 NSURLConnection是IOS提供的用于处理Http协议的网络请求的类,可以实现同步请求也可以实现异步请求,本案例使用NSURLConnection类实 ...

随机推荐

  1. 详谈java集合框架

    1.为什么使用集合框架 当我们并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架 2.Java集合框架包含的内容 接口:(父类)Collection接口下包含Li ...

  2. Object.keys() https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

    Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in ...

  3. js的基础运用

    总结: 1.定义:分为隐式定义和显式定义可以先定义后赋值. 2.+:当两边都是数值则运行加法运算,若一遍是字符型则进行拼接. 3.数值变字符:数值变量.toString()方法. 字符变数值:通过加一 ...

  4. vmware vSphere client中,选择文件->部署OVF模板,报错处理方法

    在vmware vSphere client中,选择文件->部署OVF模板,选择指定的OVA文件,按步骤进行,则会出现这样的错误:此OVF软件包使用了不受支持的功能.OVF软件包需要不支持的硬件 ...

  5. [nodejs]在mac环境下如何将node更新至最新?

    在mac下安装angular-cli时,报出较多错误.初步怀疑是因为node环境版本过低导致. 在mac下,需要执行如下几步将node更新至最新版本,也可以更新到指定版本 1. sudo npm ca ...

  6. Opencv学习之路—Opencv下基于HOG特征的KNN算法分类训练

    在计算机视觉研究当中,HOG算法和LBP算法算是基础算法,但是却十分重要.后期很多图像特征提取的算法都是基于HOG和LBP,所以了解和掌握HOG,是学习计算机视觉的前提和基础. HOG算法的原理很多资 ...

  7. 网络编程:tcp、udp、socket、struct、socketserver

    一.TCP.UDP 一.ARP(Address Resolution Protocol)即地址解析协议,用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址. 二.在网络通信中 ...

  8. Flask - app的配置和实例化Flask的参数

    目录 Flask - app的配置和实例化Flask的参数 app的配置 app的配置 Flask - app的配置和实例化Flask的参数 app的配置 基本用法: from flask impor ...

  9. hdu2016 数据的交换输出【C++】

    数据的交换输出 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  10. seleniumd对象的操作方法,属性,keys

    这是通过find方法找到的页面元素,此对象提供了多种方法,让我们可以与页面元素进行交互,例如点击.清空. 目录: 1. 方法 2. 属性 3. keys 方法 clear()清空 如果当前元素中有文本 ...