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

//基本数据类型(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. ssh服务使用介绍二

    老司机开车了 快上车 上文提到当我们使用ssh远程链接主机的时候,会出现询问的提示,如果我们链接的机器多了,一遍一遍的输入是不是很麻烦?怎么解决如下 vim /etc/ssh/ssh_config 如 ...

  2. openwrt procd分析

    procd源码中有很多个main入口,有点懵,不知道procd之外的其他程序是干嘛的.先找资料大概了解了一下procd是什么,然后是守护进程,再然后是openwrt启动流程等等. openwrt启动流 ...

  3. 【转】Unable to load native-hadoop library for your platform(已解决)

    1.增加调试信息寻找问题 2.两种方式解决unable to load native-hadoop library for you platform 附:libc/glibc/glib简介 参考: 1 ...

  4. C语言学习10

    判断三角形的类型 根据输入的三角形的三条边判断三角形的类型,并输出它的面积. #include <stdio.h> #include <math.h> void judge_1 ...

  5. react-native打包apk常见错误收集

    react-native 0.59打包报错,信息如下,根据错误信息是因为react-native-cookies的sdk版本问题导致的 ./gradlew assembleRelease > C ...

  6. npm 的作用

    接触 npm 也有一个多月的时间了,一直只是将他作为当着 webstorm + node.js 环境中的一个插件来用(甚至说把她当着命令来用).毕竟大部分的时间,他是输入的命令行中的一部分(别笑,小新 ...

  7. 跟初学者学习IbatisNet第三篇

    这一章我们主要介绍一下IbatisNet里面的动态sql语句的运用,比如有时候我们想进行模糊查询,参数是动态加入的.或者要实现top n ,order by ,分页等功能的时候,我们就不得不用动态拼接 ...

  8. Java.lang.NoSuchMethodError: 后带 V/Z等字母的

    知道 Java.lang.NoSuchMethodError: 后带 V/Z等字母的 错误,一般都是 jar包冲突引起的,找到冲突的jar包,去掉一个就好

  9. CDOJ 1217 The Battle of Chibi

    The Battle of Chibi Time Limit: 6000/4000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Othe ...

  10. POJ2421 Constructing Roads

    Constructing Roads 这道题很水,就是一个裸的最小生成树,最不过把已经连接的节点的值再设为0. 代码: #include<cstdio> #include<cstri ...