您的位置:首页 > 职场人生

黑马程序员---NSString和NSMutableString

2015-01-25 21:59 183 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

1.介绍

Foundation给我们提供了两个字符串类,一个是NSString一个是NSMutableString。NSMutableString继承自NSString。
由继承这个机制我们就可以知道NSMutableString必然能完成一些NSString完不成的功能。
在初始化NSString这个对象后,这个对象就不能改变了。
如果我们改变这个字符串对象本身我们可以使用NSMutableString。

2.介绍两个类的使用

NSString *str1=@"hello";

NSString *str2=[NSString stringWithString:str1];

NSString *str3=[NSString stringWithFormat:@"hello my name is %@",@"andy"];

NSString *str4=[NSString stringWithContentsOfURL:@"file:///...." encoding:NSUTF8StringEncoding error:nil];

NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];


我们来看看字符串操作的事例
+(NSString *)convert:(NSString *)str
{
//处理异常情况
if (str.length<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
//初始化一个可变的字符串
NSMutableString *convert=[[NSMutableString alloc] initWithString:str];
for (int i=0; i<str.length; i++) {
//获取字符串的一个字符,再构造成一个字符串对象
NSString *one=[[NSString alloc] initWithFormat:@"%c",[str characterAtIndex:str.length-i-1]];
//可变字符串的replace
[convert replaceCharactersInRange:NSMakeRange(i, 1) withString:one];
}
return convert;
}

+(int)count:(NSString *)str
{
//处理异常情况
if (str.length<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
int count=0;
//循环遍历这个字符串如果字符是英文字母则count加1
for (int i=0; i<str.length; i++) {
//获取字符串的字符
if (([str characterAtIndex:i]>='a'&&[str characterAtIndex:i]<='z')||
([str characterAtIndex:i]>='A'&&[str characterAtIndex:i]<='Z')) {
count++;
}
}
return count;
}

+(NSString *)disblank:(NSString *)str
{
int len=str.length;;
//处理异常情况
if (len<=0) {
NSLog(@"要反转的字符串为空");
return nil;
}
NSMutableString *disblank=[[NSMutableString alloc] initWithString:str];
//如果字符串第一个字符为空格则去掉空格
if([str characterAtIndex:0]==' ')
{
[disblank deleteCharactersInRange:NSMakeRange(0, 1)];
len--;
}
//如果字符串最后一个字符为空格则去掉空格
if ([str characterAtIndex:str.length-1]==' ') {
//可变字符串的删除字符功能
[disblank deleteCharactersInRange:NSMakeRange(len-1, 1)];
}
return disblank;
}


NSString可以按照分隔符分割成NSArray这个功能也很常用

NSMutableString *str=[NSMutableString stringWithFormat:@"123-456-789-000"];
NSArray *array=[str componentsSeparatedByString:@"-"];
NSMutableString *str1=[NSMutableString stringWithFormat:@""];
NSString *str3=[str stringByReplacingOccurrencesOfString:@"-" withString:@""];
for(id i in array)
{
[str1 appendString:i];
}
NSLog(@"%@",str3);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息