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. c语言验证哥德巴赫猜想(从4开始 一个偶数由两个质数之和)

    #include <stdio.h> #include <stdlib.h> #include <math.h> int isit(int num) { int i ...

  2. Java学习之Iterator(迭代器)的一般用法

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的I ...

  3. Map的内容按字母顺序排序

    map有自带的排序功能,但需要重写排序方法,代码如下: package coreJava.com.shindo.corejava.map; import java.util.ArrayList; im ...

  4. [RxJS] Adding Conditional Logic with Filter

    Often you only want values to proceed through your stream if they meet certain criteria, just as if ...

  5. neural style论文解读

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 概述 在艺术领域,艺术家 ...

  6. Android字数限制的EditText实现方案研究

    在应用开发中,有时需要实现有字数限制的EditText,首先来分析下市面上存在的类似实现方案吧,好有个感性的认识. [方案一:腾讯微博] 每个中文字符算一个字数,每两个英文字符算一个字数,当用户输入内 ...

  7. Fantageek翻译系列之《使用Autolayout显示变化高度的UITableViewCell》

    这篇博客主要在于,解释如何通过仅仅使用Autolayout很很少的代码,显示高度不同的Cell.虽然标题说的是TableView,但是CollectionView同样适合.但是,这种方法只使用iOS7 ...

  8. java开发之基础篇2

    一.java开发环境的搭建 下载和安装jdk.版本自己看着办! 1 JAVA_HOME C:\Program Files\Java\jdk1.7.0_25 2 path C:\Program File ...

  9. winscp连接vmware ubuntu

    winscp连接vmware ubuntu,因为第一次安装在虚拟机上的ubuntu是没有ssh服务的,不能在windows上通过工具进行连接,所以需要以下步骤进行ssh配置     1:检查ssh状态 ...

  10. C#中弹出新窗口

    1.在主窗体程序中定义对应别的窗体的对象 Form_a_class form1 = Form_a_class  test_delegate(); 2.调用显示 form1.ShowDialog();