1.unichar
str = [str
characterAtIndex
:i];
用途:用于字符的遍历
for (int i =0; i<address.length; i++) {
unichar
str = [address
characterAtIndex
:i];
NSString *swap_Str =[ NSString stringWithFormat : @"%c" ,str];
NSString *swap_Str =[ NSString stringWithFormat : @"%c" ,str];
NSLog(@"%@",swap_Str);
2.
BOOL
result = [str
hasPrefix
:
@"http://"
];
用途:前缀的搜索
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 =
@"shaishai"
;
//str1 在 str 中的位置, loc 开始,长度为 length
NSRange range = [str rangeOfString :str1];
//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 = @"shaishai" ;
//str1 在 str 中的位置, loc 开始,长度为 length( 左 -> 右 )
NSRange range = [str rangeOfString :str1 options : NSBackwardsSearch ];
NSString *str = @"yue yue have a shaishai shaishai~" ;
NSString *str1 = @"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);
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 ];
// 从指定位置截取到最后,包含指定位置
NSString *str1 = [str substringFromIndex : 5 ];
NSLog(@"str1 = %@",str1);
输出结果:
str1 = 567890jqk
2.
NSString
*str1 = [str
substringToIndex
:
7
];
用途:字符串的截取-消去后半部分,保留前半部分
例:
NSString
*str =
@"01234567890jqk"
;
//
截取后半部分,消除后半部分,不包括指定位置
NSString *str1 = [str substringToIndex : 7 ];
NSString *str1 = [str substringToIndex : 7 ];
NSLog(@"str1 = %@",str1);
输出结果:
str1 = 0123456
3.
NSString
*str1 =[str
substringWithRange
:
NSMakeRange
(
4
,
6
) ];
用途:截取指定范围
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 = [strstringByReplacingOccurrencesOfString:@"*"withString:@"/"];
NSLog(@"%@",str1);
提示:@“ “替换@“”—>消去空格,不留间隙
9.int/float/double/…value的用法(对象方法)
用法:字符串转换成基本数据类型
例:
//
字符串类型转换成基本数据类型
NSString
*str1 =
@"3"
;
//value 是一个对象方法
int a = [str1 intValue ];
//value 是一个对象方法
int a = [str1 intValue ];
NSLog(@"a = %d",a);
诀窍:你要转成啥类型,就啥value
10.
char
* ch = [str
UTF8String
];(对象方法)
用法:OC语言中的字符串转C语言中的字符串
例:
NSString
*str =
@"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 )lowercaseLetterCharacterSet; // 去掉头尾的小写字母
+ ( id )uppercaseLetterCharacterSet; // 去掉头尾的大写字母
+ (id)characterSetWithCharactersInString:(NSString *)aString;//
去掉头尾的指定字符串
13.字符串比较大小(枚举)
(
比较的是值)
1.含:
NSComparisonResult
result= [xiaoming
compare
:xiaoli];
NSComparisonResult result1= [xiaomingcompare: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 降序 大到小 " );
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.
[strisEqualToString:str1];(
比较的是值)
用途:比较大小的第二种方式——>只能比较是否相同
例:
NSString
*str =
@"abc"
;
NSString *str1 = @"bcd" ;
BOOL result = [str isEqualToString :str1]; // 布尔类型
if (result){
NSLog ( @"str 与 str1 的值相同 " );}
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:@"%d@qq.com",715134031];
——>按格式添加
用途:按照某种格式追加
例:
/
创建可变字符串
(
空
)
NSMutableString *str = [NSMutableStringstring];
//
按照某种格式追加 如:【str appendFormat:按照的某种格式,内容】
[str
appendFormat
:
@"%d@qq.com"
,
715134031
];
NSLog(@"%@",str);
输出结果:
715134031@qq.com
3.
[strdeleteCharactersInRange:NSMakeRange(3,2)];
——>删除
用途:删除指定范围的字符串
//
删除指定范围的字符串
[str deleteCharactersInRange:NSMakeRange(
3
,
2
)];
NSLog(@"%@",str);
2.例:
rangeOfString与deleteCharactersInRange:的经典使用
NSRange range = [str rangeOfString:
@"403"
];
//
找到
403
[str deleteCharactersInRange:range];
//
删除
403
NSLog
(
@"%@"
,str);
//
输出结果
4.
[strinsertString:@"403"atIndex:5];
——>插入
用途:插入字符串
//
将
403
重新插入
str
//
str insertString:要插入的字符串atIndex:插在哪个位置就写哪
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
老师真帅!