【iOS开发】-NSString的扩展使用
第一:基本数据类型与字符串转换
//基本数据类型(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的扩展使用的更多相关文章
- iOS开发系列--App扩展开发
概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...
- iOS开发---分类和扩展(Categories和Extensions)
1.分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法. 此外,分类能够保证你的实现类和其他的文件区分开. 1 #import “UIViewControl ...
- iOS开发——NSString小结
1.创建常量字符串. NSString *astring = @"This is a String!"; 2.创建空字符串,给予赋值. NSString *astring = ...
- iOS开发-NSString去掉所有换行及空格
1.去掉字符串两端的空格及回车 - (NSString *)removeSpaceAndNewline:(NSString *)str{ NSString *temp = [str stringByT ...
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...
- iOS开发系列--打造自己的“美图秀秀”
--绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS开发系列--地图与定位
概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
随机推荐
- 厚溥教育1718部数据库连接作业答案,分装一个操作数据库而无需写SQL语句的函数
<?php header("Content-type:text/html;charset=utf8"); //PHP操作数据库的函数 function phpsql($dbc ...
- dell服务器快速设置idrac
前提:将服务器专用的idrac网络接口,连接到网络上 1.登录到服务器(即被监控的服务器). 2.安装客户端工具 yum install OpenIPMI OpenIPMI-devel OpenI ...
- python 容器 用户注册登录系统
1. 列表和普通变量有什么区别 列表是数据类型,普通变量是用来存储数据的 可以把列表赋值给普通变量 2.存在列表 a = [11, 22, 33], 如何向列表中添加(增)新元素 44 a.appen ...
- 数列分块入门1~9 loj6277~6285
hzwer的讲解 一 给出一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,单点查值. #include <iostream> #include <cstdi ...
- reactNative 介绍
React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的UI框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安 ...
- xtu read problem training 3 A - The Child and Homework
The Child and Homework Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on Code ...
- python003 Python3 基本数据类型
Python3 基本数据类型Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.在 Python 中,变量就是变量,它没有类型,我们所说的"类型&qu ...
- [BZOJ2120][BZOJ2453]数颜色
[BZOJ2120]数颜色 试题描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中 ...
- [luoguP1266] 速度限制(spfa)
传送门 因为到某一没有限速的路径速度会有不同的可能,所以直接用 dis[i][j] 表示到第 i 个点速度为 j 时的最短时间,然后跑spfa. ——代码 #include <queue> ...
- 可以学习相关框架【转:https://testerhome.com/topics/6283】
https://testerhome.com/topics/6283 单元测试方面(Java): Junit:本来想用我熟悉的testng,但是开发的同学说测试springmvc只能用Junit.所以 ...