一般语言中的大小写转换都会提供的有默认的函数,不过闲来无事,简单的模仿实现了一下:
系统中默认的大小写转换:
1
2
3
4
|
NSString
*name=@
"博客园-FlyElephant"
;
NSString
*url=@
"博客地址:http://www.cnblogs.com/xiaofeixiang"
;
NSLog
(@
"转换为小写字符串:%@"
,[name lowercaseString]);
NSLog
(@
"转换为大写字符串:%@"
,[url uppercaseString]);
|
如果自己实现的话,需要考虑一下ASCII码,大小写之间的差值是32,A是65,a是97,其他依此类推:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
-(
NSString
*)toLower:(
NSString
*)str{
for
(
NSInteger
i=0; i<str.length; i++) {
if
([str characterAtIndex:i]>=
'A'
&[str characterAtIndex:i]<=
'Z'
) {
//A 65 a 97
char
temp=[str characterAtIndex:i]+32;
NSRange
range=
NSMakeRange
(i, 1);
str=[str stringByReplacingCharactersInRange:range withString:[
NSString
stringWithFormat:@
"%c"
,temp]];
}
}
return
str;
}
-(
NSString
*)toUpper:(
NSString
*)str{
for
(
NSInteger
i=0; i<str.length; i++) {
if
([str characterAtIndex:i]>=
'a'
&[str characterAtIndex:i]<=
'z'
) {
//A 65 a 97
char
temp=[str characterAtIndex:i]-32;
NSRange
range=
NSMakeRange
(i, 1);
str=[str stringByReplacingCharactersInRange:range withString:[
NSString
stringWithFormat:@
"%c"
,temp]];
}
}
return
str;
}
|
调用一下也很简单:
1
2
3
|
NSStringUtil
*util=[[
NSStringUtil
alloc]init];
NSLog
(@
"小写转换:%@"
,[util toLower:name]);
NSLog
(@
"大写转换:%@"
,[util toUpper:url]);
|
效果如下:
本文转自Fly_Elephant博客园博客,原文链接:http://www.cnblogs.com/xiaofeixiang/p/4615266.html,如需转载请自行联系原作者