------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的更多相关文章

  1. 黑马程序员——Foundation中的OC结构体

    <span style="font-size:14px">------<a target="_blank" href="http:/ ...

  2. 黑马程序员—C语言的函数、数组、字符串

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...

  3. 黑马程序员——【Java高新技术】——代理

    ---------- android培训.java培训.期待与您交流! ---------- 一.“代理概述”及“AOP概念” (一)代理概述 1.问题:要为已存在的多个具有相同接口的目标类的各个方法 ...

  4. 黑马程序员+SQL基础(上)

    黑马程序员+SQL基础 ---------------<a href="http://edu.csdn.net"target="blank">ASP ...

  5. 黑马程序员+Winform基础(上)

    黑马程序员+Winform基础 ---------------<a href="http://edu.csdn.net"target="blank"> ...

  6. 黑马程序员:Java基础总结----泛型(高级)

    黑马程序员:Java基础总结 泛型(高级)   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...

  7. 黑马程序员:Java基础总结----类加载器

    黑马程序员:Java基础总结 类加载器   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...

  8. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  9. 黑马程序员:Java基础总结----枚举

    黑马程序员:Java基础总结 枚举   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...

随机推荐

  1. wait、waitpid 僵尸进程 孤儿进程

    man wait: NAME wait, waitpid, waitid - wait for process to change state SYNOPSIS #include <sys/ty ...

  2. Android开发实例详解之IMF(Android SDK Sample—SoftKeyboard)

    本博前面的文章介绍了Android开发环境的搭建和模拟器的常用操作.本次,将以Android Sample中经典的SoftKeyboard项目为例,详细解析Android上一个小型项目的开发过程和注意 ...

  3. iPhone 屏幕上的 Home 键在哪里?(已解决)

    「问」:iPhone屏幕上的Home键如何开启? 「答」:在[设置]-[通用]-[辅助功能]-[AssistiveTouch],打开即可.不需要下载什么App. [Settings] - [Gener ...

  4. AOJ -0189 Convenient Location && poj 2139 Six Degrees of Cowvin Bacon (floyed求任意两点间的最短路)

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207 看懂题就好. 求某一办公室到其他办公室的最短距离. 多组输入,n表示 ...

  5. [Lintcode two-sum]两数之和(python,双指针)

    题目链接:http://www.lintcode.com/zh-cn/problem/two-sum/ 给一个整数数组,找到两个数使得他们的和等于一个给定的数target. 备份一份,然后排序.搞两个 ...

  6. leetcode:Delete Node in a Linked List

    Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...

  7. ListItem选中时只改变文字的颜色

     继承父状态,然后使用Selector 如果是用Linearlayout里面动态添加Linearlayout的情况,就要代码控制了 // 就是为了改变颜色.                     l ...

  8. core--线程同步

    [同步(tóng bù)synchronous;sync;synchronism;synchronization 指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系.]这是百度百科对&quo ...

  9. Codeforces 443 B Kolya and Tandem Repeat【暴力】

    题意:给出一个字符串,给出k,可以向该字符串尾部添加k个字符串,求最长的连续重复两次的子串 没有想出来= =不知道最后添加的那k个字符应该怎么处理 后来看了题解,可以先把这k个字符填成'*',再暴力枚 ...

  10. UVa 10474 Where is the Marble

    题意:给出一列数,先排序,再查找学习了sort函数,lower_bound函数sort:可以给任意对象排序(包括自己定义的)(前提是定义好了‘<’运算符)lower_bound:查找大于或者等于 ...