[Objective-C] 007_Foundation框架之NSString与NSMutableString
在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的更多相关文章
- OC中Foundation框架之NSString、NSMutableString
创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- Foundation框架-NSString和NSMutableString
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式 2.3 从文件中 ...
- OC本学习笔记Foundation框架NSString与NSMutableString
一.NSString与NSMutableString 相信大家对NSString类都不陌生.它是OC中提供的字符串类.它的对象中的字符串都是不可变的,而它的子类NSMutable ...
- bjective-C 中核心处理字符串的类是 NSString 与 NSMutableString
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- 关于NSString和NSMutableString的相关用法和基本介绍
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- NSString和NSMutableString常用方法+NSArray常用代码 (转)
常见的NSString和NSMutableString方法: NSString方法: [plain] view plaincopy +(id) stringWithContentsOfFile:p ...
- iOS基础-NSString及NSMutableString剖析
一.NSString头文件 NSString : NSObject 实现协议: NSCopying/NSMutableCopying/NSSecureCoding 类别: //扩展类别 NSStrin ...
随机推荐
- 题解 AT3849 【[ABC084C] Special Trains】
本文为UserUnknown原创 题目大意 总共有 \(N\) 个车站,每两个相邻的车站有单向的车. 从第 \(i\) 个站到第 \(i+1\) 个站 需要时间 \(C_i\) 分钟,且第一趟车在 \ ...
- Linux安装Git-两种方式详细教程)
一.Git介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器.Linus Torvalds 是这样给我们介绍 Git 的. Git 是用于 Linux内核开发 ...
- C语言程序报告五
C程序设计实验报告 姓 名:赖瑾 实验地点:家 实验时间: 2020年4月21日 实验项目:6.3.1练习1 编写由三角形三边求面积的函数 6.3.1练习2 编写求N阶乘的函数 6.3.1练习3 求两 ...
- STM32CubeMX 多通道 ADC DMA 配置 测试小程序
要点: 1.STM32F103C8T6单片机 2.ADC+DMA 多通道 重点是ADC+DMA配置,ADC+DMA配置如下 其他配置略略略略. 然后各位自行直看.ioc文件,生成代码后在while之前 ...
- java基础篇 之 非静态内部类
什么是非静态内部类: public class Outer { Outer() { System.out.println("我是外部类"); } class Inner { Inn ...
- Python 记录日志文件
1.打印到控制台 # -*- coding: UTF-8 -*- import logging def logFileTest(): logging.debug('This is debug') lo ...
- Airtable base
PC端习惯了SQL Server Express.Access数据库的强大,安卓端再去用Microsoft Office.WPS,能让你怀疑人生.使用Airtable是个不错的方案,workspace ...
- javascript实现checkbox提交submit请求
javascript实现checkbox提交submit请求 背景:使用django模板中for来形成多个checkbox,需要点击单个checkbox并查询数据触发submit请求到后台,djang ...
- webpack3 项目升级 webpack4
由于 vue-cli 2 构建的项目是基于 webpack3,所以只能自己动手改动,至于升级 webpack4之后提升的编译速度以及各种插件自己去体验. 修改配置 1.替换插件 extract-tex ...
- Mysql 常用函数(4)- case 函数
Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html case 的作用 if 的高级版,类似Java 里 ...