第一:基本数据类型与字符串转换

//基本数据类型(int float,double char)

1)基本数据类型—>NSString
//1.int类型换换成字符串
int a = 88;
NSString * str1 = [NSString stringWithFormat:@"%d",a]; //2.float -> NSString
float f = 0.8;
NSString * str3 = [NSString stringWithFormat:@"%.1f",f]; //3.double - >NSstring
double d = 66.2222;
NSString * str4 = [NSString stringWithFormat:@"%.4f",d]; //4.char - > NSString
char c = ‘b';
NSString * str5 = [NSString stringWithFormat:@"%c",c]; 2)NSString-—>基本数据类型 //5.NSString -> int
NSString * str6 = @"1";
int i1 = [str6 intValue]; //5.NSString -> float
NSString * str7 = @“8.8";
float f1 = [str7 floatValue]; //6.NSString -> double
NSString * str8 = @"8.88";
double d1 = [str8 doubleValue]; //注意:当你要把字符串转换成某种基本数据类型的时候,一定要确定你要转化你的数据是正确
NSString * str9 = @“a123";
int i2 = [str9 intValue]; //7.将字符串中的字母转换成大写
NSString * str10 = @“apple";
NSString * tmpStr1 = [str10 uppercaseString];
NSLog(@"tmpStr1 %@ str10 %@",tmpStr1,str10); //8.将字符中的字母转换成小写
NSString * str11 = @“APPLE";
NSString * tmpStr2 = [str11 lowercaseString]; //9.将首字母大写
NSString * str12 = @“apple";
NSString * tmpStr3 = [str12 capitalizedString];

第二:字符串重组

//1.多个数据拼接成一个字符串
int year = 1990;
int month = 8;
int day = 08;
NSString * date = [NSString stringWithFormat:@"%d年%d月%d日",year,month,day]; NSString * address = @“上海";
NSString * dateAndAddrss = [NSString stringWithFormat:@"%@地址:%@",date,address]; //2.字符串的末尾追加新的字符
NSString * str1 = @"apple.";
NSString * str2 = [str1 stringByAppendingString:@"iphone"]; //3.在指定的范围追加字符串
NSString * str3 = @"apple";
NSRange range = {4,0};
//location代表的时从哪个索引开始插入,length 代表的意思可以覆盖几个字符
NSString * str4 = [str3 stringByReplacingCharactersInRange:range withString:@"iphone"]; //4.使用新的字符,替换原有的字符
NSString * str5 = @“apple,iPhone";
NSString * str6 = [str5 stringByReplacingOccurrencesOfString:@“p" withString:@“q"]; //5.在字符串中删除特定的某些字符 胡汉三 hhs
NSString * str7 = @“apple-iphone—.iwatch.itouch";
NSString * str8 = [str7 stringByReplacingOccurrencesOfString:@"-" withString:@""]; //6.去掉字符串中的空格
NSString * str9 = @“apple iPhone iwatch";
NSString * str10 = [str9 stringByReplacingOccurrencesOfString:@" " withString:@""];

第三: 字符串写入文件

  3.1:将字符串写入到文件
NSString * content = @"今天马路上捡到一分钱";
NSString * path = @"/Users/tengfei/Desktop/test.txt";
//1.NSString *:要给入文件目录(并且要包括文件名称)
//2.atomically : YES
//3.NSUTF8StringEncoding 国际通用的编码格式
//4.NSError 是用来记录错误信息的
NSError * error;
//writeToFile:<#(NSString *)#> atomically:<#(BOOL)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>
BOOL result = [content writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]; if(result)
{
NSLog(@"文件创建成功");
}
else
{
NSLog(@"error %@",error);
} 3.2:从文件中读取字符串内容
//要给出文件路径
//你写入文件的时候,使用的是什么编码格式,读取的时候就要用什么编码格式
NSString * path = @"/Users/tengfei/Desktop/test.txt";
NSError * error;
NSString * str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error]; if (error != nil)
{
NSLog(@"error message %@",error);
}
else
{
NSLog(@"str content %@",str);
}

第四:可变字符串

//1.创建可变字符串
//NSMutableString 继承自 NSString
//NSMutableString 拥有NSString所有的属性以及方法
//NSMutableString * muStr = [[NSMutableString alloc] init];
NSMutableString * muStr = [[NSMutableString alloc] initWithCapacity:0]; //是初始化字符串内容
[muStr setString:@"apple"]; //动态的给字符串末尾追加新值
[muStr appendString:@".com"]; //在指定的索引位置,插入字符串
[muStr insertString:@“iphone" atIndex:3]; //删除指定范围的字符串
//你要删除的长度,一定不能够超出字符串的的长度,导致异常Range or index out of bounds
NSRange range = {3,7};
// [muStr deleteCharactersInRange:range]; [muStr replaceCharactersInRange:range withString:@"苹果"];

【iOS开发】-NSString的扩展使用的更多相关文章

  1. iOS开发系列--App扩展开发

    概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...

  2. iOS开发---分类和扩展(Categories和Extensions)

      1.分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法.   此外,分类能够保证你的实现类和其他的文件区分开.   1 #import “UIViewControl ...

  3. iOS开发——NSString小结

    1.创建常量字符串. NSString *astring = @"This is a String!";   2.创建空字符串,给予赋值. NSString *astring = ...

  4. iOS开发-NSString去掉所有换行及空格

    1.去掉字符串两端的空格及回车 - (NSString *)removeSpaceAndNewline:(NSString *)str{ NSString *temp = [str stringByT ...

  5. iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转

    iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...

  6. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  7. iOS开发系列--Swift进阶

    概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...

  8. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总

    --系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...

  9. iOS开发系列--地图与定位

    概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...

  10. iOS开发系列--网络开发

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

随机推荐

  1. Linux CentOS 知识和常用命令

    1.常用热键 [Tab]它具有“命令补全”与“文件补全”的功能[Ctrl+C]中断执行中的程序组合键[Ctrl+d]键盘输入结束.也可以用来替代 exit 2.Linux 常用编辑器 vi 和 vim ...

  2. 关于Servlet一些东西

    ---- 概念 Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面. 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器 ...

  3. vue 框架原理

    参考:https://segmentfault.com/a/1190000006599500#articleHeader4 记录自己的理解: 核心的响应原理通过Object.definePropert ...

  4. 利用springboot创建多模块项目

    本文旨在用最通俗的语言讲述最枯燥的基本知识 最近要对一个不大不小的项目进行重构,用spring觉得太过于繁琐,用cloud又有觉得过于庞大,维护的人手不够:权衡之下,最终选了springboot作为架 ...

  5. 条款22:将成员变量声明为private(Declare data members private)

    NOTE: 1.切记将成员变量声明为private.这可赋予客户访问数据的一致性 可细微划分访问控制 允诺约束条件获得保证,并提供class作者以充分的实现弹性. 2.protected 并不比pub ...

  6. 项目:开发->测试->上线:流程规范

    1) 项目分析 2) 项目经理分工协作 程序就具体流程: 1: 按项目名称: 建git, 数据库, 线上测试虚拟机 2: 按项目经理分配的大的模块. 自行划分工作阶段 a: 划分为小的模块 b: 预估 ...

  7. Java学习之Math类理解

    Math类包含用于几何和三角运算的所有浮点函数,以及一些用于通用目的的方法.Math类定义了两个double常量:E(约等于2.72)和PI(约等于3.14) 1.三角函数 表中的方法接收double ...

  8. Leetcode 321.拼接最大数

    拼接最大数 给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字.现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个 ...

  9. C#中为什么不能再方法里定义静态变量(Static)

    c#的静态变量是在对象生成的时候分配内存空间的,而不是函数执行的时候. 如果在函数里定义,那么这个变量就需要在函数执行的时候分配内存空间,这是C#不允许的,至于为什么不允许,个是因为垃圾回收机制的问题 ...

  10. 深入理解计算机操作系统——第11章:CS模型,网络

    网络编程: 11.1 客户端-服务器编程模型 (1)一个应用是由一个服务器进程和一个或多个客户端进程组成. (2)服务器管理某种资源,并且操纵这种资源来为客户端服务. CS模型: CS的基本操作是事务 ...