在Cocoa Foundation中的NSString和NSMutableString类,为我们提供了Unicode字符串的支持,NSString和NSMutableString类最大的区别是:NSString--创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。NSMutableString--创建赋值以后可以动态在该字符串上更改内容与长度下面是NSString和NSMutableString类的一些常用操作。

1.NSString 创建常量字符串。

NSString *str = @"我是一个字符串 -- This is a String!";

2.NSString  创建空字符,并赋值

NSString *str = [[NSString alloc] init];
str = @"www.babybus.com";
NSLog(@"str内容:%@",str);
[astring release];
NSString *str2 = [[NSString alloc] initWithString:@"www.babybus.com"];
NSLog(@"str2:%@",str2);
[str2 release]; //用标准c创建字符串:initWithCString方法
char *c_str = "www.babybus.com"
NSString *str3 = [[NSString alloc] initWithCString:c_str];
NSLog(@"str3:%@",str3);
[str3 release]; //创建格式化字符串:占位符
NSString *str4 = [[NSString alloc] initWithString:[NSString stringWithFormat:@"宝宝巴士拥有%d用户了",70000000]];
NSLog(@"str4:%@",str4);
[str4 release]; //从文件初始化字符串
NSString *path = [[NSBundlemainBundle] pathForResource:@"test" ofType:@"text"];
NSString *str = [[NSString alloc] initWithContentsOfFile:path];
NSLog(@"str:%@",str);
[str release];

3.NSString 内容写入文件

//获取Documents
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
//路径拼接
NSString *fielPath = [documentsPath stringByAppendingPathComponent:@"str.txt"]; NSString *str = [[NSString alloc] initWithString:@"www.babybus.com"];
NSLog(@"str:%@",str);
[str writeToFile:fielPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
[str release];

4.NSString 字符内容比较

NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 isEqualToString:str_2];
if (result) {
NSLog(@"内容相同...");
}else {
NSLog(@"不好意思,内容不同");
}
//NSOrderedSame判断两者内容是否相同
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedSame;
NSLog(@"result:%d",result); //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,str_2大于str_1为真)
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedAscending;
NSLog(@"result:%d",result); //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,str_2小于str_1为真)
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"www.babybus.com";
BOOL result = [str_1 compare:str_2] == NSOrderedDescending;
NSLog(@"result:%d",result);

5.NSString 不考虑大小写内容比较

NSString *str_1 = @"WWW.BABYBUS.COM";
NSString *str_2 = @"www.babybus.com";
//NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
BOOL result = [str_1 compare:str_2 options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame;
NSLog(@"result:%d",result);

6.NSString 输出大写或者小写字符串

NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"Good babybus";
NSLog(@"str_1:%@",[str_1 uppercaseString]);//大写
NSLog(@"str_2:%@",[str_2 lowercaseString]);//小写
NSLog(@"str_2:%@",[str_2 capitalizedString]);//首字母大小

7.NSString 查找字符串是否包含其它字符串

NSString *str_1 = @"www.babybus.com";
NSString *str_2 = @"babybus";
NSRange range = [str_1 rangeOfString:str_2];
if (range.location != NSNotFound) {
NSLog(@"找到了%@",str_2);
}

8.NSString 截取字符串

//substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringToIndex:3];
NSLog(@"string2--->:%@",str_2); //substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringFromIndex:3];
NSLog(@"string2--->:%@",str_2); //substringWithRange: 按照所给出的位置,长度,任意地从字符串中截取子串
NSString *str_1 = @"www.babybus.com";
NSString *str_2 = [str_1 substringWithRange:NSMakeRange(0, 4)];
NSLog(@"string2--->:%@",str_2);

9.NSString 是否以某一字符串开头或者结尾

NSString *str = @"http://wwww.babybus.com";
if([String1 hasPrefix:@"http://"] == 1) {
NSLog(@"http://开头") ;
} if([String1 hasSuffix:@"com"] == 1) {
NSLog(@"com结尾") ;
}

10.NSString 获取后缀名

NSString *Path = @"User/SuperDo/string.txt";
NSLog(@"Extension:%@",[Path pathExtension]);

11.NSString 获取拓展路径

NSString *Path = @"User/SuperDo/str.txt";
NSString *absolutePath = [Path stringByExpandingTildeInPath];
NSLog(@"absolutePath:%@",absolutePath);
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);

12. NSMutableString 字符串拼接

//末尾拼接
NSMutableString *str_1 = [[NSMutableString alloc] initWithString:@"www.babybus.com"];
[str_1 appendString:@",good"];
[str_1 appendFormat:@"go --------->"];
NSLog(@"String1:%@",str_1);
//在指定位置插入
NSMutableString *str = [[NSMutableString alloc] initWithString:@"www.babybus.com"];
[str insertString:@"Hi! " atIndex:0];
NSLog(@"str:%@",str);

13.NSMutableString  替换字符串

NSMutableString *str = [[NSMutableString alloc] initWithString:@"www.babybus.com is NSMutableString"];
[str replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
NSLog(@"str:%@",str);

本站文章为宝宝巴士 SD.Team原创,转载务必在明显处注明:(作者官方网站:宝宝巴士
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4584355.html

[Objective-C] 007_Foundation框架之NSString与NSMutableString的更多相关文章

  1. OC中Foundation框架之NSString、NSMutableString

    创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...

  2. 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString

    OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...

  3. Foundation框架-NSString和NSMutableString

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

  4. OC本学习笔记Foundation框架NSString与NSMutableString

       一.NSString与NSMutableString         相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutable ...

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

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

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

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

  7. Objective - c Foundation 框架详解2

    Objective - c  Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...

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

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

  9. iOS基础-NSString及NSMutableString剖析

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

随机推荐

  1. 也谈解决Combobox绑定数据后取值出现System.Data.DataRowView的问题

    刚才遇到一个怪现象:同一个窗口,同一张表,通过第一个Combobox值的改变,动态绑定第二个Combobox,结果出现一个怪现象,第一个Combobox有的值改变第二个Combobox一切正常,有几个 ...

  2. Shell脚本(一)入门

    开始学习Shell脚本. #!/bin/bash ]; then echo "you are not root" else echo "you are root" ...

  3. 安装MySQL8(附详细图文)

    安装MySQL8(附详细图文) 删除mysql服务:mysqld -remove mysql 1.下载 mysql 8 下载地址:https://dev.mysql.com/downloads/mys ...

  4. Linux下3种常用的网络测速工具

    大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...

  5. MySQL基础总结(二)

    数据表的完整性约束条件 AUTO_INCREMENT (自增长) 注意事项: 1.一个表中只能有一个自增长字段 2.必须配合主键使用 方法1: 方法2: 方法3: 指定自增长初始值的方法: 修改自增长 ...

  6. 标准IDOC同步物料

    目录 1功能说明    4 2功能实现    4 2.1创建逻辑系统并分配集团(SALE)    4 2.2维护RFC目标(SM59)    5 2.3在发送端创建模型视图(BD64)    5 2. ...

  7. js--bom对象

    bom:browser object model **navigator:获取浏览器的信息 **screen:获取屏幕的相关信息 **location:请求的url地址 **获取请求的url地址:lo ...

  8. 内存的堆分配和栈分配 & 字符数组,字符指针,Sizeof总结

    堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap ...

  9. ScrollView 内嵌百度地图问题解决

    在ScrollView上内嵌百度地图遇到两个问题 事件冲突,移动地图的时候屏幕滚动了 移动ScrollView的时候,百度地图出现黑边 问题1的处理就有各种办法了,核心都是拦截事件,我使用的办法是加一 ...

  10. 黑马程序员_毕向东_Java基础视频教程——变量(随笔)

    变量 变量 就是将不确定的数据进行存储.也就是需要在内存中开辟一块空间. 内存就是一块运算区域.内存越大.内存中装的数位就越多.运算就越快 ============================== ...