课堂笔记07
2015-07-30 08:54
387 查看
OC中字符串的应用
2、对于用格式化方式来构造字符串实例来讲,其作用并不仅仅是来构造一个字符串对象,它还可以用来做字符串拼接
3、从本地文件中读取字符串
4、从网络文件中读取字符串
字符串属性 长度 length
2、字符串比较
根据字符串拿到对应的range
3、判断字符串中是否有 xx前缀 或 xx后缀
4、字符串拼接
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);
相关文章推荐
- iOS分区
- Snail—UI学习之进度条UIProgressView
- 详解Java中的final关键字的使用
- Filesystem sda1:xfs_log_force:error 5 returned
- Linux 的多线程编程的高效开发经验
- 上位机学习笔记汇总
- URAL 1942 Attack at the Orbit
- 重构
- Python 类介绍
- html 按钮的三种形式
- URAL 1942 Attack at the Orbit
- APP-需要多久?
- 如何优化服务器的性能
- URAL 1942 Attack at the Orbit
- URAL 1942 Attack at the Orbit
- 在 Linux 命令行中使用和执行 PHP 代码(二):12 个 PHP 交互性 shell 的用法
- geant4.10.1.p02例子学习之-hadrontherapy
- hdu 5324 Boring Class(15多校第三场1009)(cdq分治)
- 中小型网络系统总体规划与设计方法(二 )
- URAL 1942 Attack at the Orbit