OC Foundation框架—字符串
一、Foundation框架中一些常用的类
字符串型:
NSString:不可变字符串
NSMutableString:可变字符串
集合型:
1)
NSArray:OC不可变数组
NSMutableArray:可变数组
2)
NSSet:
NSMutableSet:
3)
NSDictiorary
NSMutableDictiorary
其它:
NSDate
NSObject
二、NSString和NSMutableString的使用与注意
(一)6种创建字符串的形式

(二)使用注意
(1)字符串的导入导出

(2)类方法

(三)NSMutableString的使用与注意

(四)URL补充内容
Url:资源路径
格式:协议头:/路径
网络路径协议头:http
本地文件以file为协议头
ftp为协议头,说明资源是ftp服务器上的。
(四)字符串操作补充
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
// NSLog(@"Hello, World!");
/*
不可变字符串
1.创建字符串
实例方法(3种)
类方法(3种)
2.不可变字符串:
统计长度(2种)
索引提取 (3种)
比较 (3种)
查照字符串位置(1种)
判断前后缀
转换数字
大小写转换
字符串提取
可变字符串
1.创建可变字符串
2.可变字符串的操作
增(3种)删(1种)改(1种)查
*/
//实例方法(3种)
NSString *str1 = @"";
NSString *str2 = [[NSString alloc] initWithFormat:@"%d4567",];
// NSString *str3 = [[NSString alloc] initWithString:str2];//传的是对象
//类方法(3种)
NSString *str4 = [NSString stringWithFormat:@"Abc%@eFg",@"d"];
// NSString *str5 = [NSString stringWithString:str4];
//统计长度(2种)
NSUInteger length = [str1 length];
NSUInteger length1 = str1.length;
NSLog(@"%lu %lu",length,length1);
//索引提取 (3种)
NSString *newStr1 = [str1 substringFromIndex:];
NSLog(@"%@",newStr1);
NSString *newStr2 = [str1 substringToIndex:];
NSLog(@"%@",newStr2);
NSString *newStr3 = [str1 substringWithRange:NSMakeRange(, )];
NSLog(@"%@",newStr3);
NSString *string = [[NSString alloc] initWithFormat:@"%@",@"qwert"];
unichar ch =[string characterAtIndex:2];//提取字符串中的一个字符变成字符
NSLog(@"%c",ch);
//比较 (3种)
if ([str1 isEqualToString:str2]) {
NSLog(@"相同");
}else
NSLog(@"不相同");
if ([str1 compare:str2] == NSOrderedAscending) {
NSLog(@"str1>str2");
}
else if ([str1 compare:str2] == NSOrderedDescending)
NSLog(@"str1<str2");
else if ([str1 compare:str2] == NSOrderedSame)
NSLog(@"==");
if ([str1 caseInsensitiveCompare:str2] == NSOrderedAscending) {
NSLog(@"str1>str2");
}
else if ([str1 caseInsensitiveCompare:str2] == NSOrderedDescending)
NSLog(@"str1<str2");
else if ([str1 caseInsensitiveCompare:str2] ==NSOrderedSame)
NSLog(@"==");
// 查找字符串位置
NSRange range = [str1 rangeOfString:str2];
if (range.location != NSNotFound) {
NSLog(@"location:%lu length:%lu",range.location,range.length);
} else {
NSLog(@"没找到");
}
//判断前后缀(2种)
BOOL flag = [str4 hasPrefix:@"abc"];
NSLog(@"%d",flag);
BOOL anotherFlag = [str4 hasSuffix:@"fg"];
NSLog(@"%d",anotherFlag);
//转换数字(4种)
int number = [str1 intValue];
NSLog(@"%d",number);
NSInteger number1 = [str1 intValue];
NSLog(@"%ld",number1);
NSString *str6 = @"1234567.89";
double number2 = [str6 doubleValue];
NSLog(@"%lf",number2);
//大小写转换
NSString *upStr = [str4 uppercaseString];
NSLog(@"%@",upStr);
NSString *lowStr = [str4 lowercaseString];
NSLog(@"%@",lowStr);
NSString *tempStr = [str4 capitalizedString];
NSLog(@"%@",tempStr);
// 可变字符串
// 实例方法
NSMutableString *muStr1 = [[NSMutableString alloc]
initWithFormat:@"1%d3",];
NSMutableString *muStr2 = [[NSMutableString alloc]
initWithString:@""];
NSMutableString *muStr3 = [[NSMutableString alloc]
initWithCapacity:];
// 类方法
NSMutableString *muStr4 = [NSMutableString stringWithFormat:@"4%d6",];
NSMutableString *muStr5 = [NSMutableString stringWithString:@""];
NSMutableString *muStr6 = [NSMutableString stringWithCapacity:];
//增(3种)
[muStr1 appendFormat:@"%d",];
NSLog(@"%@",muStr1);
[muStr2 appendString:@""];
NSLog(@"%@",muStr2);
[muStr3 insertString:@"abcdefghijklmn" atIndex:];
NSLog(@"%@",muStr3);
[muStr4 insertString:@"abcdefghijklmn" atIndex:];
NSLog(@"%@",muStr4);
//删除
[muStr5 deleteCharactersInRange:NSMakeRange(, )];
NSLog(@"%@",muStr5);
//改
[muStr6 replaceCharactersInRange:NSMakeRange(, ) withString:@""];
NSLog(@"%@",muStr6);
[muStr5 replaceCharactersInRange:NSMakeRange(, ) withString:@"abcd"];
NSLog(@"%@",muStr5);
}
return ;
}
OC Foundation框架—字符串的更多相关文章
- OC Foundation框架—字符串操作方法及习题
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- 李洪强iOS之Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- OC Foundation框架—结构体
一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- OC Foundation框架—集合
Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向 ...
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- [OC Foundation框架 - 20] 统计代码行数
注意: 1.变量名和函数名不要混淆调用 2.不要对文件夹进行文件的操作,没有权限 3.递归调用注意初始化变量 // // main.m // CodeLineCount // // Created ...
- [OC Foundation框架 - 13] NSValue
NSNumber能够包装基本数据类型称为OC对象,是因为继承了NSValue 包装结构体成OC对象 1.自带结构体 void value() { CGPoint point = CGPointMake ...
随机推荐
- python文件操作-r、w、a、r+、w+、a+和b模式
对文件操作的基本步骤 f=open('a.txt','r',encoding='utf-8') data=f.read() print(data) f.close() 文件的打开和关闭使用open() ...
- xShell终端中文乱码完全解决方法
xShell终端中文乱码完全解决方法 xShell(xShell5)以及其他终端中文乱码的原因无非有三种:(1)Linux系统的编码问题:(2)xShell终端的编码问题: (3)两端的语言编码不一致 ...
- inotify工具安装配置
一.安装 1) 从内核和目录里面查看是否支持inotify [root@nfs01 ~]# uname -r 2.6.32-573.el6.x86_64 [root@nfs01 ~]# ls -l ...
- 20145127《java程序设计》第八周学习总结
一.教材学习内容总结 第十四章 NIO与NIO2 NIO(New IO)-from JDK1.4 NIO2 -from Java SE 7 14.1 认识NIO Channel: 衔接数据节点(与IO ...
- Timer,TimerTask,Handler
新建一个定时器线程,通过此线程每一秒发送数据到Handler,然后通过Handler来修改UI. 1.获得Handler,Timer,TimerTask对象. Handler handler=new ...
- win10 字体渲染优化 色彩调整
最近烧包买了个2k显示器,发现跟win10使用,一堆问题,最大的就是字体,其实应该买4k,那样正好设置200%字体,现在设置的124% 字体: 以前使用的是mactype这个软件 https://pa ...
- 【第十章】 springboot + logback
logback是boot默认的日志首选,个人觉得是最好的日志实现(比log4j好) 下边,在之前的代码基础上增加一个功能,该功能要实现mybatis的and or联查功能,并通过logback日志在控 ...
- NS-3 MyFirstScriptExample
安装好了NS-3之后,我根据一些教程学习了NS-3的几个关键的概念,然后照着例子和自己对它的一些理解,尝试的打了我自己的第一个脚本程序:MyFirstScriptExample 具体代码如下: #in ...
- 【Golang】解决Go test执行单个测试文件提示未定义问题
背景 很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错.其实了解了go test命令的机制之后,这 ...
- Codeforces 893E - Counting Arrays
893E - Counting Arrays 思路:质因子分解. 对于每个质因子,假设它有k个,那么求把它分配到y个数上的方案数. 相当于把k个小球分配到y个盒子里的方案数. 这个问题可以用隔板法(插 ...