您的位置:首页 > 其它

课堂笔记07

2015-07-30 08:54 387 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: