=================================================================
NSString + NSRange + NSMutableString
=================================================================
什么是框架?
框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易。在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础,这个框架就是Foundation框架。
Cocoa 是 Foundation 和 AppKit;
Cocoa Touch 是 Foundation 和 UIKit;
------------------------------------------------------
URL
URL的全称是Uniform Resource Locator(统一资源定位符);
URL是互联网上标准资源的地址;
互联网上的每个资源都有一个唯一的URL,它包含的信息指出资源的位置;
根据一个URL就能找到唯一的一个资源;
基本URL包含协议、主机域名、路径;
可以简单认为:URL == 协议头://主机域名/路径
-----------------------------------------------------------------
NSString字符串比较
如果要比较两个字符串大小的话,可以使用compare方法;
compare方法返回的结果有三种:
NSOrderAscending: a<b; 返回值长整型,为-1
NSOrderDecending: a>b; 返回值长整型,为1
NSOrderSame: a == b; 返回值长整型,为0
-------------------------------------------------------------
其他的比较代码
[str compare:str1 options: NSLiteralSearch](完全比较,区分大小写,默认)
[str compare:str1 options:NSCaseInsensitiveSearch](不区分大小写)
[str compare:str1 options:NSCaseInsensitiveSearch](比较字符串的字符个数)
---------------------------------------
==是不能判断字符串是否相等,因为如果相同的字符串内容,但是存储在不同的存储区,结果还是不相等;
可以用 [str isEqualToString: str1];返回的是BOOL类型----1为相等。
---------------------------------------------------------
NSString 前后缀检查及搜索
[url hasPrefix:@"http://"] 返回的是BOOL类型,检查的是字符串的前缀
[imageName hasSuffix:@".jpg"] 检查的是字符串的后缀
-----------------------------------------------------------
字符串的查找
例:
NSString *str = @"wefjliosjfwliosjiew";
NSString *str1 = @"ios";
NSRange range = [str rangeOfString:str1];
NSLog(@"length:%lu location %lu",range.length,range.location);
length为3,location为5.
---------------------------------------------------------------
字符串截取
1.从XX位置开始,截取到最后结束:
NSString *str1 = [str substringFromIndex:5];(包含xx这个位置)
2.从开始位置,到XX位置结束:
NSString *str2 = [str substringToIndex:5];(不包含xx这个位置)
3.截取一个范围 range:
NSRange r1 = NSMakeRange(3, 4);
NSString *str3 = [str substringWithRange:r1];
-----------------------------------------------------------------------
字符串的替换
NSString *replace = [str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
表示用“*”替换掉“a”;
---------------------------------------------------------------------
获取字符串的每个字符
-(NSUInteger)length;
返回字符串的长度(无论中英文,都是一个字符);
-(unichar)characterAtIndex:(NSUInteger)index;
返回index位置对应的字符;
--------------------------------------------------------------------
NSString 的其他用法
int a = [str intValue]; //可以把str指向的字符串转化成整型;
-------------------------------------------------------------------
NSMutableString 和 NSString的区别
NSString是不可变的,里面的文字内容是不能进行修改的,因为存在常量区,而常量区是只读的;
NSMutableString是可变的,里面的文字内容可以随时更改;
NSMutableString是继承NSString的,其所有方法都能使用;
不可变:指的是字符串在内存中占用的存储空间固定,并且存储的内容不能发生变化;
可变:指的是字符串在内存中占用的存储空间可以不固定,并且存储的内容可以被修改;
----------------------------------------------------------------------------------
对NSMutableString类型的字符串的操作
1.[str appendString:@"Jack"]; 在原字符串的后面添加字符串
2.[str appendFormat:@"Jack%d",100]; 格式化添加字符串
3.[str deleteCharactersInRange:NSMakeRange(2, 3)]; 删除字符串一部分内容,无返回值
4.[str insertString:@"LOVE" atIndex:1]; 在指定的位置插入字符串
5.[str replaceCharactersInRange:NSMakeRange(1, 2) withString:@"TTTT"];从包括第一位在内之后 连续的2位实行替换,替换内容为TTTT;
NSString + NSRange + NSMutableString
=================================================================
什么是框架?
框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易。在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础,这个框架就是Foundation框架。
Cocoa 是 Foundation 和 AppKit;
Cocoa Touch 是 Foundation 和 UIKit;
------------------------------------------------------
URL
URL的全称是Uniform Resource Locator(统一资源定位符);
URL是互联网上标准资源的地址;
互联网上的每个资源都有一个唯一的URL,它包含的信息指出资源的位置;
根据一个URL就能找到唯一的一个资源;
基本URL包含协议、主机域名、路径;
可以简单认为:URL == 协议头://主机域名/路径
-----------------------------------------------------------------
NSString字符串比较
如果要比较两个字符串大小的话,可以使用compare方法;
compare方法返回的结果有三种:
NSOrderAscending: a<b; 返回值长整型,为-1
NSOrderDecending: a>b; 返回值长整型,为1
NSOrderSame: a == b; 返回值长整型,为0
-------------------------------------------------------------
其他的比较代码
[str compare:str1 options: NSLiteralSearch](完全比较,区分大小写,默认)
[str compare:str1 options:NSCaseInsensitiveSearch](不区分大小写)
[str compare:str1 options:NSCaseInsensitiveSearch](比较字符串的字符个数)
---------------------------------------
==是不能判断字符串是否相等,因为如果相同的字符串内容,但是存储在不同的存储区,结果还是不相等;
可以用 [str isEqualToString: str1];返回的是BOOL类型----1为相等。
---------------------------------------------------------
NSString 前后缀检查及搜索
[url hasPrefix:@"http://"] 返回的是BOOL类型,检查的是字符串的前缀
[imageName hasSuffix:@".jpg"] 检查的是字符串的后缀
-----------------------------------------------------------
字符串的查找
例:
NSString *str = @"wefjliosjfwliosjiew";
NSString *str1 = @"ios";
NSRange range = [str rangeOfString:str1];
NSLog(@"length:%lu location %lu",range.length,range.location);
length为3,location为5.
---------------------------------------------------------------
字符串截取
1.从XX位置开始,截取到最后结束:
NSString *str1 = [str substringFromIndex:5];(包含xx这个位置)
2.从开始位置,到XX位置结束:
NSString *str2 = [str substringToIndex:5];(不包含xx这个位置)
3.截取一个范围 range:
NSRange r1 = NSMakeRange(3, 4);
NSString *str3 = [str substringWithRange:r1];
-----------------------------------------------------------------------
字符串的替换
NSString *replace = [str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
表示用“*”替换掉“a”;
---------------------------------------------------------------------
获取字符串的每个字符
-(NSUInteger)length;
返回字符串的长度(无论中英文,都是一个字符);
-(unichar)characterAtIndex:(NSUInteger)index;
返回index位置对应的字符;
--------------------------------------------------------------------
NSString 的其他用法
int a = [str intValue]; //可以把str指向的字符串转化成整型;
-------------------------------------------------------------------
NSMutableString 和 NSString的区别
NSString是不可变的,里面的文字内容是不能进行修改的,因为存在常量区,而常量区是只读的;
NSMutableString是可变的,里面的文字内容可以随时更改;
NSMutableString是继承NSString的,其所有方法都能使用;
不可变:指的是字符串在内存中占用的存储空间固定,并且存储的内容不能发生变化;
可变:指的是字符串在内存中占用的存储空间可以不固定,并且存储的内容可以被修改;
----------------------------------------------------------------------------------
对NSMutableString类型的字符串的操作
1.[str appendString:@"Jack"]; 在原字符串的后面添加字符串
2.[str appendFormat:@"Jack%d",100]; 格式化添加字符串
3.[str deleteCharactersInRange:NSMakeRange(2, 3)]; 删除字符串一部分内容,无返回值
4.[str insertString:@"LOVE" atIndex:1]; 在指定的位置插入字符串
5.[str replaceCharactersInRange:NSMakeRange(1, 2) withString:@"TTTT"];从包括第一位在内之后 连续的2位实行替换,替换内容为TTTT;