课堂笔记07

来源:互联网 发布:java代码风格 编辑:程序博客网 时间:2024/05/18 02:36

OC中字符串的应用

NSString 不可变字符串

1、初始化一个字符串对象

   NSString *st1 = @"bokanwisdom";     //等效于   NSString *st2 =[NSString stringWithString:@"bokanwisdom"];   NSString *st3 = [[NSString alloc] initWithString:@"bokanwisdom"];   NSString *st4 = [NSString stringWithFormat:@"%d %@",23,st1];   NSLog(@"%@",st4);

2、对于用格式化方式来构造字符串实例来讲,其作用并不仅仅是来构造一个字符串对象,它还可以用来做字符串拼接

    NSString *st5 = @"光头强";    NSString *st6 = @"6666";    NSString *newString1 = [NSString stringWithFormat:@"%@%@",st5,st6];    NSLog(@"%@",newString1);

3、从本地文件中读取字符串

//[[NSBundle mainBundle] pathForResource:@"text" ofType:@"html"];  NSString *path = @"/Users/5002/Desktop/test.html";  NSError *error;  NSString *st7 = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];  NSLog(@"%@",st7);    NSStringEncoding encoding;  NSString *st8 = [NSString stringWithContentsOfFile:path usedEncoding:&encoding error:&error];  NSLog(@"%@",st8);

4、从网络文件中读取字符串

  NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];  NSString *st9 = [NSString stringWithContentsOfURL:url encoding:4 error:&error];  NSLog(@"%@",st9);

字符串操作

1、字符串截取

 NSString *st10 = @"别看双鱼一脸天真烂漫的就以为他们真的好骗,人家精着呢!有些人是真傻,而双鱼是装傻,玩的这叫大隐隐于市!双鱼把很多东西早就看透彻了,不愿意沾染一些乱七八糟的事。心中有座柏拉图,甘愿守着份干净纯洁的少男少女心,幻想到天荒地老。"; NSString *substr1 = [st10 substringToIndex:8];//截取前第0到第n个字符,不包括第n个字符 NSString *substr2 = [st10 substringFromIndex:8];//截取从第n个字符以后的内容,包括第n个 NSString *substr3 = [st10 substringWithRange:NSMakeRange(5, 10)];//从第n个开始,截取长度为n2的长度 NSLog(@"substr1 = %@,   subst2 = %@ ,subst3 = %@",substr1,substr2,substr3);

字符串属性 长度 length

  NSInteger len = st10.length;//求出字符串的长度  NSLog(@"%ld",len);

2、字符串比较

 if (substr2 == substr3) {//‘==’表示指针和内容都相等时,才成立    NSLog(@"substr2和substr3相等");        } else{   NSLog(@"substr2和substr3不相等");     } //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等。 if ([substr2 isEqualToString:substr3]) {     NSLog(@"substr2和substr3内容相等");   } else{     NSLog(@"substr2和substr3内容不相等");        }  //比较两个字符串大小  NSString *cmpstr1 = @"guantouqiang";  NSString *cmpstr2 = @"xiongda";  NSComparisonResult result = [cmpstr1 compare:cmpstr2];   switch (result) {       case NSOrderedAscending:            NSLog(@"compstr1 < cmpstr2");            break;       case NSOrderedSame:            NSLog(@"comstr1 = cmpstr2");            break;       case NSOrderedDescending:            NSLog(@"compstr1 > cmpstr2");            break;       default:            break;        }   NSLog(@"%ld",result);

根据字符串拿到对应的range

  NSRange range = [st10 rangeOfString:@"一个"];  NSLog(@"range = %@",[NSValue valueWithRange:range]);  NSRange range1 = [st10 rangeOfString:@"一"];//找到一个之后就不会接着继续找  NSLog(@"range1 = %@",[NSValue valueWithRange:range1]);

3、判断字符串中是否有 xx前缀 或 xx后缀

   NSString *st11 = @"http://www.baidu.com";   if ([st11 hasPrefix:@"http://"]) {//判断字符串是否有前缀            NSLog(@"含有此前缀");        }   else{            NSLog(@"不含此前缀,字符串拼接后面讲");        }    NSString *st12 = @"sdd.jpg";    if ([st12 hasSuffix:@".jpg"] || [st12 hasSuffix:@".png"]) {//判断字符串是否有后缀            NSLog(@"含有此后缀");        }    else{            NSLog(@"不含此后缀,字符串拼接后面讲");        }

4、字符串拼接

   NSString *st13 = [@"http://" stringByAppendingString:st11];//路径拼接   NSLog(@"%@",st13);   NSString *domainstr = @"http://wechat.palm-h.com";   NSString *xxx = @"login";   NSString *st14 = [domainstr stringByAppendingPathComponent:xxx];//路径拼接   NSString *st15 = [NSString stringWithFormat:@"%@/%@",domainstr,xxx];   NSLog(@"st14 = %@,st15 = %@",st14,st15);   NSString *imgpath = @"http://ww1.sinaimg.cn/large/e4b48ffajw1efxr5fq3msj20cs0ahgmw.jpg";   imgpath = [imgpath lastPathComponent];   NSLog(@"%@",imgpath);   path = [path lastPathComponent];   NSLog(@"%@",path);   NSString *theimagename = @"lll";   theimagename = [theimagename stringByAppendingPathExtension:@".png"];//文件拓展名拼接   NSLog(@"%@",theimagename);
0 0