黑马程序员——Foundation之NSString和NSMutableString
------Java培训、Android培训、iOS培训、Net培训、期待与您交流!------
在OC中NSString是一个非常重要的字符串类;和C语言的字符串不用的是,C语言的字符串是用双引号括住如“jack”;而OC中的字符串则要以@开关如:@“jack”.
NSString是一个不可变的字符串,创建好后里面的内容是不能更改的。不过它还有一个子类NSMutableString,这个类中的字符串是可以修改的如增添或删除。
一、NSString字符串的创建方式:
1.NSString*s1=@"jack";
2.NSString*s2=[[NSString alloc] initWithString:@"rose"];
3.NSString*s3=[[NSString alloc] initWithFormat:@"age is %d",10];
二、C字符串可以转化为OC字符串
NSString*s4=[[NSString alloc]initWithUTF8String:"jack"];
三、OC字符串也可以转为C字符串
Const char*cs=[s4 UTF8String];
四、可以将字符串导出到某路径下的文本中(NSUTF8StringEncoding 用到中文就可以用这种编码)
[@"jack" writeToFile:@"/users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
五、可以通过URL将字符串导出到路径,或从某路径读取文件内容
1.字符串的导出
NSString*str=@"123456"; //创建一个字符串
NSURL*url=[NSURL fileURLWithPath:@"/users/apple/Desktop/my2.txt"]; //设置路径
[str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error: nil];//将字符串导出到路径中
2.字符串的读取
NSURL*url=[NSURL fileURLWithPath:@"/users/apple/Desktop/my2.txt"]; // 设置路径
NSString*s=[[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error: nil]; //读取路径下的内容并保存在s中。
NSLog(@"%@",s); //打印字符串s的内容
六、NSMutableString
1.字符串的拼接
NSMutableString*s1=[NSMutableString stringWithFormat:@"my age is 20"];//创建可变字符串对象
[s1 appandString:@"11 12"]; //将@“11 12”拼接到@“my age is 20”后面。
2.字符串的删除
NSRange range=[s1 rangeOfString:@"is"]; // 获取is的范围
[s1 deleteCharactersInRange:range]; //删除is
---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------
黑马程序员——Foundation之NSString和NSMutableString的更多相关文章
- 黑马程序员——Foundation中的OC结构体
<span style="font-size:14px">------<a target="_blank" href="http:/ ...
- 黑马程序员—C语言的函数、数组、字符串
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...
- 黑马程序员——【Java高新技术】——代理
---------- android培训.java培训.期待与您交流! ---------- 一.“代理概述”及“AOP概念” (一)代理概述 1.问题:要为已存在的多个具有相同接口的目标类的各个方法 ...
- 黑马程序员+SQL基础(上)
黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...
- 黑马程序员+Winform基础(上)
黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...
- 黑马程序员:Java基础总结----泛型(高级)
黑马程序员:Java基础总结 泛型(高级) ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...
- 黑马程序员:Java基础总结----类加载器
黑马程序员:Java基础总结 类加载器 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...
- 黑马程序员:Java基础总结----静态代理模式&动态代理
黑马程序员:Java基础总结 静态代理模式&动态代理 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public class Ts { ...
- 黑马程序员:Java基础总结----枚举
黑马程序员:Java基础总结 枚举 ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...
随机推荐
- eclipse调试jsp中的scriptlet代码
在eclipse开发环境下,jsp中的scriptlet代码,也就是<%%>中的java代码,跟普通的java代码一样可以打断点单步调试的! 做个笔记,免得自己忘了!
- slot signal机制
有一个比较 经典的实现:http://sigslot.sourceforge.net/很精简的 signal slot的实现,跨平台.webrtc项目在用,我在自己项目里也用了.这个源码有2000多行 ...
- Android技术面试整理
前19题为常考题目!! 1.Android的四大组件是哪些,它们的作用? 2.请介绍下Android中常用的五种布局. 3.android中的动画有哪几类,它们的特点和区别是什么 4.android ...
- 对Java不能多继承,只能单继承,却可以实现多个接口的理解
1.java与C++的不同点在于多继承. Java:不能多继承,只能单继承,但可以实现多个接口 C++:可以实现多继承.例如: class A extends B implements C,D,E { ...
- sqlserver资源下载
安装包可以从itellyou下载 NorthWind 安装SQL2000SampleDb.msi 之后可以在C:\SQL Server 2000 Sample Databases目录 2016/01/ ...
- C++关键字 inline
在C&C++中 一.inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 表达式形式的宏定义一例: #define ExpressionName(Va ...
- apache 配置用户级目录
如果你只需要在用户目录下使用apache的话,还有一个最简单的方式,直接将 httpd.conf文件下的 DocumentRoot "/Library/WebServer/Documents ...
- c#开源Excel操作库--NPOI
前言 以前也用C#操作过excel,用的是OleDb或者offic的com组件,但是总是非常的麻烦,依赖限制较多,所以果断寻找开源方案,JAVA上面已经有非常成熟的POI,就这样,找到了移.Net的移 ...
- Qt之QProgressIndicator(等待提示框)
简述 很早以前在网上看到一个纯代码实现的旋转动画感觉效果很不错,分享给大家.不得不说,条条大道通罗马,我们需要更多地创造... 详见:QProgressIndicator 简述 效果 源码 使用 更多 ...
- HDU 1838 Chessboard
dp[i][j]表示以(i,j)为右下角所含棋盘的最大规模, 如果 s[i][j] == s[i-1][j-1] && s[i][j] != s[i-1][j] && ...