1.unichar str = [str characterAtIndex:i];
用途:用于字符的遍历
例 :NSString*address = @"http://baidu.com";//不可变的字符
for (int i = 0; i<address.length; i++) {
unichar str = [address characterAtIndex:i];
NSString *swap_Str =[NSString stringWithFormat:@"%c",str];
NSLog(@"%@",swap_Str);
2.BOOL result = [str hasPrefix:@"http://"];
用途:前缀的搜索
例: NSString*str = @"http://itcast.com";//不可变的字符
BOOL result = [str hasPrefix:@"http://"];//布尔类型
if(result){ NSLog(@"str前缀是http://,证明str是网址”); }
else{ NSLog(@"str前缀不是 http://前缀,证明str非网址”); }
3. BOOL result = [str hasSuffix:@".cn"];
用途:后缀的搜索
例: NSString*str = @"file:///user/apple.cn";
BOOL result = [str hasSuffix:@".cn"];
if (result) { NSLog(@"str后缀有.cn”); }
else{ NSLog(@"str后缀没有.cn”); }
4.NSRange range = [str rangeOfString:str1];(从左到右)结构体
用途:字符串检查(字符位置的查找)
例: //正向寻找(0~)
NSString*str = @"yue yue have a shaishai shaishai~";
NSString*str1 [email protected]"shaishai";
//str1在str中的位置,loc开始,长度为length
NSRange range = [str rangeOfString:str1];
NSLog(@"loc = %lu,len = %lu",range.location,range.length);
输出结果: loc = 15,len = 8
5.NSRange range = [str rangeOfString:str1 options:NSBackwardsSearch];
用途:字符串检查(结构体)
例: //反向寻找(0~)
NSString*str = @"yue yue have a shaishai shaishai~";
NSString*str1 [email protected]"shaishai";
//str1在str中的位置,loc开始,长度为length(左->右)
NSRange range = [str rangeOfString:str1 options:NSBackwardsSearch];
NSLog(@"loc=%lu,len=%lu",range.location,range.length);
输出结果: loc=24,len=8
6.NSRange的使用
用途:表示范围
1.NSString*str = NSStringFromRange(range);
用途:将NSRange转换成字符
例: NSRange range = {3,5};
//将NSRange转换成字符
NSString*str = NSStringFromRange(range);
NSLog(@"str=%@",str);
输出结果: str={3, 5}
2.用途:设置范围的方法
NSRange range = {3,5};
NSRange range1 = NSMakeRange(loc, len);
aa.loc = 1; aa.len = 4;
3.用途:且不知道,哪个是loc和len时用这个设置范围的方法
NSRange range2 = {.location = 5,.length = 7};
7.字符串的截取(字符串)
1.NSString*str1 = [str substringFromIndex:5];
用途:字符串的截取-消去前半部分,保留后半部分
例:NSString*str = @"01234567890jqk";
//截取字符串(消去)前半部分
//从指定位置截取到最后,包含指定位置
NSString*str1 = [str substringFromIndex:5];
NSLog(@"str1 = %@",str1);
输出结果: str1 = 567890jqk
2.NSString*str1 = [str substringToIndex:7];
用途:字符串的截取-消去后半部分,保留前半部分
例:NSString*str = @"01234567890jqk";
//截取后半部分,消除后半部分,不包括指定位置
NSString*str1 = [str substringToIndex:7];
NSLog(@"str1 = %@",str1);
输出结果:str1 = 0123456
3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
用途:截取指定范围
例:NSString*str = @"www.itcast.com";
NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
NSLog(@"%@",str1);
8.NSString *str1 = [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];
用途:字符串的替换
例: //将*替换成/
NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";
//str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串
NSString *str1 = [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
NSLog(@"%@",str1);
输出结果: http://ios.itcast.cn/ios/images/content_25.jpg
提示:@“ “替换@“”—>消去空格,不留间隙
9.int/float/double/…value的用法(对象方法)
用法:字符串转换成基本数据类型
例://字符串类型转换成基本数据类型
NSString *str1 = @"3";
//value是一个对象方法
int a = [str1 intValue];
NSLog(@"a = %d",a);
诀窍:你要转成啥类型,就啥value
10. char * ch = [str UTF8String];(对象方法)
用法:OC语言中的字符串转C语言中的字符串
例:NSString *str [email protected]"aaa";
char * ch = [str UTF8String];
NSLog(@"ch = %s",ch);
11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)
用法:C语言中的字符串转OC语言中的字符串
例:char *ch = "aaa";
NSString *str = [NSString stringWithUTF8String:ch];
NSLog(@"str = %@",str);
12.去空格
用途:去掉首尾空格
例:NSString *str = @" a b c d ";
NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceCharacterSet]];
NSLog(@"str1 =%@",str1);
注意:替换[]中的内容,进行功能的实现
+ (id)whitespaceCharacterSet; //去掉头尾空格
+ (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
+ (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母
+ (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串
13.字符串比较大小(枚举)(比较的是值)
1.含:NSComparisonResult result= [xiaoming compare:xiaoli];
NSComparisonResult result1= [xiaoming compare:xiaoli options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch
例: //比较大小
NSString *xiaoming = @"xiaoming";
NSString *xiaoli = @"xiaoli";
//枚举用 NSComparisonResult类型 来接收
NSComparisonResult result= [xiaoming compare:xiaoli];
NSComparisonResult result1= [xiaoming compare:xiaoli options:NSCaseInsensitiveSearch];
switch (result) {
case NSOrderedAscending:
NSLog(@"-1 升序 小到大");
break;
case NSOrderedDescending:
NSLog(@"1 降序 大到小");
break;
case NSOrderedSame:
NSLog(@"大小相等");
break; }
可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。
NSLiteralSearch:进行完全比较,区分大小写。(默认)
NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。
2.[str isEqualToString:str1];(比较的是值)
用途:比较大小的第二种方式——>只能比较是否相同
例: NSString *str = @"abc";
NSString *str1 = @"bcd";
BOOL result = [str isEqualToString:str1];//布尔类型
if(result){
NSLog(@"str与str1的值相同");}
else{ NSLog(@"str与str1的值不相同~~~");}
输出结果:str与str1的值不相同~~~
谨记:==比较的是地址,而isEqualToString:比较的是值
14.可变字符串的创建与添加
1. [str appendString:@"哈哈哈”];——>添加
用途:为可变字符串添加内容
例: //可见字符串的创建
NSMutableString *str = [NSMutableString string];
//往可变字符串中追加字符串
[str appendString:@"哈哈哈"];
NSLog(@"str = %@",str);
[str appendString:@"hahaha"];
NSLog(@"str = %@",str);
输出结果:1. str = 哈哈哈
2.str = 哈哈哈hahaha
解析:1.重复添加字符串,原字符串内容不覆盖。
2.可变字符串添加修改过程中,地址不变,内容可以改变。
2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加
用途:按照某种格式追加
例: /创建可变字符串(空)
NSMutableString *str = [NSMutableString string];
//按照某种格式追加 如:【str appendFormat:按照的某种格式,内容】
[str appendFormat:@"%[email protected]",715134031];
NSLog(@"%@",str);
输出结果:[email protected]
3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除
用途:删除指定范围的字符串
1.例: 2.的输出结果为:[email protected]qq.com
//删除指定范围的字符串
[str deleteCharactersInRange:NSMakeRange(3,2)];
NSLog(@"%@",str);
输出结果:[email protected]qq.com
2.例:rangeOfString与deleteCharactersInRange:的经典使用
2.的输出结果为:[email protected]qq.com
NSRange range = [str rangeOfString:@"403"]; //找到403
[str deleteCharactersInRange:range];//删除403
NSLog(@"%@",str); //输出结果
输出结果: [email protected]qq.com
4.[str insertString:@"403" atIndex:5];——>插入
用途:插入字符串
例:上例输出结果: [email protected]qq.com
//将403重新插入str
//str insertString:要插入的字符串 atIndex:插在哪个位置就写哪
[str insertString:@"403" atIndex:5];
NSLog(@"%@",str);
输出结果:[email protected]qq.com
5. [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”];
用途:替换字符串
1.unichar str = [str characterAtIndex:i];
用途:用于字符的遍历
例 :NSString*address = @"http://baidu.com";//不可变的字符
for (int i = 0; i<address.length; i++) {
unichar str = [address characterAtIndex:i];
NSString *swap_Str =[NSString stringWithFormat:@"%c",str];
NSLog(@"%@",swap_Str);
2.BOOL result = [str hasPrefix:@"http://"];
用途:前缀的搜索
例: NSString*str = @"http://itcast.com";//不可变的字符
BOOL result = [str hasPrefix:@"http://"];//布尔类型
if(result){ NSLog(@"str前缀是http://,证明str是网址”); }
else{ NSLog(@"str前缀不是 http://前缀,证明str非网址”); }
3. BOOL result = [str hasSuffix:@".cn"];
用途:后缀的搜索
例: NSString*str = @"file:///user/apple.cn";
BOOL result = [str hasSuffix:@".cn"];
if (result) { NSLog(@"str后缀有.cn”); }
else{ NSLog(@"str后缀没有.cn”); }
4.NSRange range = [str rangeOfString:str1];(从左到右)结构体
用途:字符串检查(字符位置的查找)
例: //正向寻找(0~)
NSString*str = @"yue yue have a shaishai shaishai~";
NSString*str1 [email protected]"shaishai";
//str1在str中的位置,loc开始,长度为length
NSRange range = [str rangeOfString:str1];
NSLog(@"loc = %lu,len = %lu",range.location,range.length);
输出结果: loc = 15,len = 8
5.NSRange range = [str rangeOfString:str1 options:NSBackwardsSearch];
用途:字符串检查(结构体)
例: //反向寻找(0~)
NSString*str = @"yue yue have a shaishai shaishai~";
NSString*str1 [email protected]"shaishai";
//str1在str中的位置,loc开始,长度为length(左->右)
NSRange range = [str rangeOfString:str1 options:NSBackwardsSearch];
NSLog(@"loc=%lu,len=%lu",range.location,range.length);
输出结果: loc=24,len=8
6.NSRange的使用
用途:表示范围
1.NSString*str = NSStringFromRange(range);
用途:将NSRange转换成字符
例: NSRange range = {3,5};
//将NSRange转换成字符
NSString*str = NSStringFromRange(range);
NSLog(@"str=%@",str);
输出结果: str={3, 5}
2.用途:设置范围的方法
NSRange range = {3,5};
NSRange range1 = NSMakeRange(loc, len);
aa.loc = 1; aa.len = 4;
3.用途:且不知道,哪个是loc和len时用这个设置范围的方法
NSRange range2 = {.location = 5,.length = 7};
7.字符串的截取(字符串)
1.NSString*str1 = [str substringFromIndex:5];
用途:字符串的截取-消去前半部分,保留后半部分
例:NSString*str = @"01234567890jqk";
//截取字符串(消去)前半部分
//从指定位置截取到最后,包含指定位置
NSString*str1 = [str substringFromIndex:5];
NSLog(@"str1 = %@",str1);
输出结果: str1 = 567890jqk
2.NSString*str1 = [str substringToIndex:7];
用途:字符串的截取-消去后半部分,保留前半部分
例:NSString*str = @"01234567890jqk";
//截取后半部分,消除后半部分,不包括指定位置
NSString*str1 = [str substringToIndex:7];
NSLog(@"str1 = %@",str1);
输出结果:str1 = 0123456
3.NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
用途:截取指定范围
例:NSString*str = @"www.itcast.com";
NSString*str1 =[str substringWithRange:NSMakeRange(4, 6) ];
NSLog(@"%@",str1);
8.NSString *str1 = [str stringByReplacingOccurrencesOfString:@"*"withString:@"/"];
用途:字符串的替换
例: //将*替换成/
NSString *str = @"http:**ios.itcast.cn*ios*images*content_25.jpg";
//str stringByReplacingOccurrencesOfString:要被替换的字符串 withString:用来替换的字符串
NSString *str1 = [str stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
NSLog(@"%@",str1);
输出结果: http://ios.itcast.cn/ios/images/content_25.jpg
提示:@“ “替换@“”—>消去空格,不留间隙
9.int/float/double/…value的用法(对象方法)
用法:字符串转换成基本数据类型
例://字符串类型转换成基本数据类型
NSString *str1 = @"3";
//value是一个对象方法
int a = [str1 intValue];
NSLog(@"a = %d",a);
诀窍:你要转成啥类型,就啥value
10. char * ch = [str UTF8String];(对象方法)
用法:OC语言中的字符串转C语言中的字符串
例:NSString *str [email protected]"aaa";
char * ch = [str UTF8String];
NSLog(@"ch = %s",ch);
11. NSString *str = [NSString stringWithUTF8String:ch];(类方法)
用法:C语言中的字符串转OC语言中的字符串
例:char *ch = "aaa";
NSString *str = [NSString stringWithUTF8String:ch];
NSLog(@"str = %@",str);
12.去空格
用途:去掉首尾空格
例:NSString *str = @" a b c d ";
NSString *str1 =[str stringByTrimmingCharactersInSet:[NSCharacterSet
whitespaceCharacterSet]];
NSLog(@"str1 =%@",str1);
注意:替换[]中的内容,进行功能的实现
+ (id)whitespaceCharacterSet; //去掉头尾空格
+ (id)lowercaseLetterCharacterSet; // 去掉头尾的小写字母
+ (id)uppercaseLetterCharacterSet; //去掉头尾的大写字母
+ (id)characterSetWithCharactersInString:(NSString *)aString; // 去掉头尾的指定字符串
13.字符串比较大小(枚举)(比较的是值)
1.含:NSComparisonResult result= [xiaoming compare:xiaoli];
NSComparisonResult result1= [xiaoming compare:xiaoli options:NSCaseInsensitiveSearch];//条件options:NSCaseInsensitiveSearch
例: //比较大小
NSString *xiaoming = @"xiaoming";
NSString *xiaoli = @"xiaoli";
//枚举用 NSComparisonResult类型 来接收
NSComparisonResult result= [xiaoming compare:xiaoli];
NSComparisonResult result1= [xiaoming compare:xiaoli options:NSCaseInsensitiveSearch];
switch (result) {
case NSOrderedAscending:
NSLog(@"-1 升序 小到大");
break;
case NSOrderedDescending:
NSLog(@"1 降序 大到小");
break;
case NSOrderedSame:
NSLog(@"大小相等");
break; }
可替换的条件:NSCaseInsensitiveSearch:不区分大小写字符。
NSLiteralSearch:进行完全比较,区分大小写。(默认)
NSNumericSearch:比较字符串的字符个数,不是字符值(实际优先比较ascii码值)。
2.[str isEqualToString:str1];(比较的是值)
用途:比较大小的第二种方式——>只能比较是否相同
例: NSString *str = @"abc";
NSString *str1 = @"bcd";
BOOL result = [str isEqualToString:str1];//布尔类型
if(result){
NSLog(@"str与str1的值相同");}
else{ NSLog(@"str与str1的值不相同~~~");}
输出结果:str与str1的值不相同~~~
谨记:==比较的是地址,而isEqualToString:比较的是值
14.可变字符串的创建与添加
1. [str appendString:@"哈哈哈”];——>添加
用途:为可变字符串添加内容
例: //可见字符串的创建
NSMutableString *str = [NSMutableString string];
//往可变字符串中追加字符串
[str appendString:@"哈哈哈"];
NSLog(@"str = %@",str);
[str appendString:@"hahaha"];
NSLog(@"str = %@",str);
输出结果:1. str = 哈哈哈
2.str = 哈哈哈hahaha
解析:1.重复添加字符串,原字符串内容不覆盖。
2.可变字符串添加修改过程中,地址不变,内容可以改变。
2. [str appendFormat:@"%[email protected]",715134031];——>按格式添加
用途:按照某种格式追加
例: /创建可变字符串(空)
NSMutableString *str = [NSMutableString string];
//按照某种格式追加 如:【str appendFormat:按照的某种格式,内容】
[str appendFormat:@"%[email protected]",715134031];
NSLog(@"%@",str);
输出结果:[email protected]
3.[str deleteCharactersInRange:NSMakeRange(3,2)];——>删除
用途:删除指定范围的字符串
1.例: 2.的输出结果为:[email protected]qq.com
//删除指定范围的字符串
[str deleteCharactersInRange:NSMakeRange(3,2)];
NSLog(@"%@",str);
输出结果:[email protected]qq.com
2.例:rangeOfString与deleteCharactersInRange:的经典使用
2.的输出结果为:[email protected]qq.com
NSRange range = [str rangeOfString:@"403"]; //找到403
[str deleteCharactersInRange:range];//删除403
NSLog(@"%@",str); //输出结果
输出结果: [email protected]qq.com
4.[str insertString:@"403" atIndex:5];——>插入
用途:插入字符串
例:上例输出结果: [email protected]qq.com
//将403重新插入str
//str insertString:要插入的字符串 atIndex:插在哪个位置就写哪
[str insertString:@"403" atIndex:5];
NSLog(@"%@",str);
输出结果:[email protected]qq.com
5. [str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng”];
用途:替换字符串
例://创建可变字符串(空)
NSMutableString *str = [NSMutableString string];
[str appendString:@"yueyue老师真帅!"];
NSLog(@"%@",str);//输出结果:yueyue老师真帅!
//str replaceCharactersInRange:要替换掉的位置 withString:用来替换的字符串
[str replaceCharactersInRange:NSMakeRange(0,6) withString:@"pengpeng"];
NSLog(@"%@",str);//输出结果:pengpeng老师真帅!