int main(int argc, const char * argv[])
{ @autoreleasepool { //----------------NSString-----------------------------
NSString *str1 = @"这是一个字符串常量";
NSLog(@"str1 = %@",str1);
//创建一个空字符串
NSString *str2 = [[NSString alloc]init];
NSString *str3 = [NSString string];
NSLog(@"str2 = %@",str2);
NSLog(@"str3 = %@",str3);
//快速创建一个字符串
NSString *str4 = [[NSString alloc]initWithString:str1];
NSString *str5 = [NSString stringWithString:str1];
NSLog(@"str4 = %@",str4);
NSLog(@"str5 = %@",str5);
//创建一个格式化字符串
NSString *str6 = [[NSString alloc]initWithFormat:@"%d",10];
NSString *str7 = [NSString stringWithFormat:@"%.2f",10.8099887];
NSLog(@"str6 = %@",str6);
NSLog(@"str7 = %@",str7); //比较两个字符串内容是否相等
if ([str6 isEqualToString:str7]) {
NSLog(@"str6 is EqualToString str7");
}else{
NSLog(@"str6 is not EqualToString str7");
} //转换为基本数据类型
NSString *str8 = @"3";
float f1 = [str8 floatValue];
NSLog(@"str8 = %.2f",f1); //字符串拆分为数组
NSString *str9 = @"命 运 就 算 颠 沛 流 离";
NSArray *array = [str9 componentsSeparatedByString:@" "];
NSLog(@"array = %@",array);
NSLog(@"array[0] = %@",array[0]); //截取字符串
NSString *str10 = @"123456789";
NSString *subStr1 = [str10 substringToIndex:4];
NSString *subStr2 = [str10 substringFromIndex:6];
NSLog(@"subStr1 = %@",subStr1);
NSLog(@"subStr2 = %@",subStr2); NSRange range = {4,2};
NSString *subStr3 = [str10 substringWithRange:range];
NSLog(@"subStr3 = %@",subStr3); //拼接字符串
NSString *str11 = @"123";
NSString *str12 = @"456";
NSString *appStr1 = [[NSString alloc]initWithFormat:@"%@%@",str11,str12];
NSString *appStr2 = [str11 stringByAppendingFormat:@"%@",str12];
NSString *appStr3 = [str11 stringByAppendingString:str12];
NSLog(@"appStr1 = %@",appStr1);
NSLog(@"appStr2 = %@",appStr2);
NSLog(@"appStr3 = %@",appStr3); //查找字符串
NSString *str13 = @"qweradsfzxcvqazxsw";
NSRange range1 = [str13 rangeOfString:@"dsfzx"];
NSLog(@"%@",NSStringFromRange(range1));
NSLog(@"%d",range1.location);
if (range1.location != NSNotFound) {
NSLog(@"str found");
}else{
NSLog(@"str not found");
} /*------------NSMutableString 可变字符串-----------------*/
//插入
NSMutableString *mStr1 = [[NSMutableString alloc] initWithFormat:@"abcd"];
[mStr1 insertString:@"defg" atIndex:4]; //注意:此处为在源字符串上修改,并未生成新的字符串
NSLog(@"mStr1 = %@",mStr1); //替换
[mStr1 replaceCharactersInRange:NSMakeRange(4, 4) withString:@"1234"];
NSLog(@"%@",mStr1); //删除
[mStr1 deleteCharactersInRange:NSMakeRange(4, 4)];
NSLog(@"%@",mStr1);
}
return 0;
}

Objective-C中NSString和NSMutableString的基本用法的更多相关文章

  1. Objective - C 中NSString (字符串)与C中的字符串转换问题

    NSString是一个常用的类,NSString是原生支持unicode C中的字符串 比如char * a = "hello world";  是utf8类型的, char* d ...

  2. bjective-C 中核心处理字符串的类是 NSString 与 NSMutableString

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  3. 关于NSString和NSMutableString的相关用法和基本介绍

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  4. objective C中的字符串NSStirng常用操作

    objective C中的字符串操作 在OC中创建字符串时,一般不使用C的方法,因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,在Cocoa中NSString集成的一些方法,可以很方便的 ...

  5. Foundation框架-NSString和NSMutableString

    可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中 ...

  6. NSString和NSMutableString常用方法+NSArray常用代码 (转)

    常见的NSString和NSMutableString方法: NSString方法: [plain] view plaincopy   +(id) stringWithContentsOfFile:p ...

  7. iOS基础-NSString及NSMutableString剖析

    一.NSString头文件 NSString : NSObject 实现协议: NSCopying/NSMutableCopying/NSSecureCoding 类别: //扩展类别 NSStrin ...

  8. OC第二节 —— NSString和NSMutableString

    1.为什么需要NSString对象        答:在OC中创建字符串时,一般不使用C的方法,    因为C将字符串作为字符数组,所以在操作时会有很多不方便的地方,    在Cocoa中NSStri ...

  9. NSString和NSMutableString的创建及其一些常用方法

    NSString和NSMutableString都是对象类型,是NSObject的子类.NSString是不可变字符串,NSMutableString是可变字符串 一.NSString的创建 1.创建 ...

随机推荐

  1. 《Learn python the hard way》Exercise 48: Advanced User Input

    这几天有点时间,想学点Python基础,今天看到了<learn python the hard way>的 Ex48,这篇文章主要记录一些工具的安装,以及scan 函数的实现. 首先与Ex ...

  2. Java中线程池的学习

    线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理.当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程 ...

  3. 专题笔记--Java 类集框架

    Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...

  4. MergeSort 归并排序

    实现: 二路归并 public class TestMergeSort { public int[] mergeSortArray(int[] arr, int left, int right){ i ...

  5. Ubuntu mysql安装,还有可视化界面

    安装mysql sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib ...

  6. jQuery获取select option

    jQuery的一些方法理出一些常用的方法: //获取第一个option的值 $('#test option:first').val(); //最后一个option的值 $('#test option: ...

  7. Struts分页

    1.分页的bean类PaginationSupport.java  2.写好后直接在action里面调用,计算当前页显示的数据  3.写一个公用的jsp页面,直接在需要分页的页面include就可以了 ...

  8. java 正则表达式获取值

    @Test public void testtest() { String test = "hahahhehe sendCode\":\"12367890123rsdfs ...

  9. 你必须掌握的Java基础:JSON解析工具-json-lib

    一.简介  json-lib是一个Java类库,提供将Java对象,包括beans,maps,collections,java arrays和xml等转换成JSON,或者反向转换的功能. 二.准备 在 ...

  10. Win32多线程编程(3) — 线程同步与通信

      一.线程间数据通信 系统从进程的地址空间中分配内存给线程栈使用.新线程与创建它的线程在相同的进程上下文中运行.因此,新线程可以访问进程内核对象的所有句柄.进程中的所有内存以及同一个进程中其他所有线 ...