Foundation-NSString

来源:互联网 发布:windows tasksche.exe 编辑:程序博客网 时间:2024/06/05 23:39
<span style="font-size:14px;">#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {               /*         构造字符串四种方式            NSString 不可变字符串         */                //1.初始化一个字符串对象        NSString *string1 = @"ibokanwisdom";        //        NSString *string2 = [NSString stringWithString:@"ibokanwisdom"];//        NSString *string3 = [[NSString alloc]initWithString:@"ibokanwisdom"];                //使用NSString的类方法来创建字符串,+ (instancetype)stringWithFormat:@"格式化标志符"        NSString *string4 = [NSString stringWithFormat:@"%d,%.1f,hi guys",5,4.5];        NSLog(@"string4 = %@",string4);                //对于用格式化方式来构造字符串实例来讲,其作用并不仅仅来构造一个字符串对象,它还可以用来做字符串拼接        NSString *string5 = @"Rick";        NSString *string6 = @"666";        NSString *string7 = [NSString stringWithFormat:@"%@%@",string5,string6];        NSLog(@"string7 = %@",string7);                //从本地文件中读取字符串        NSString *path1 = @"/Users/liujiahao/Desktop/OC_04_02/OC_04_02/t.html";                NSStringEncoding encoding ;//NSUTF8StringEncoding(4)        NSError *error ;                NSString *string8 = [NSString stringWithContentsOfFile:path1 encoding:NSUTF8StringEncoding error:&error];        //        NSLog(@"string8 = %@,error = %@",string8,error);                //从网络读取字符串        NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];//        NSString *string10 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];        //        NSLog(@"string10 = %@",string10);                //字符串的操作        NSString *string11 = @"你是逗比么,我都受不了你了";                //字符串属性     长度      length        NSUInteger length = [string11 length];        NSLog(@"length = %lu",length);                //字符串的截取        NSString *subString1 = [string11 substringToIndex:5];   //获取从字符串开头到字符串的 to 的位置的字符串内容,不包括to位置,从0算起        NSLog(@"subString1 = %@",subString1);                NSString *subString2 = [string11 substringFromIndex:6]; //获取从字符串的from位置到结尾的字符串内容,包含from位置的字符        NSLog(@"subString2 = %@",subString2);                NSString *subString3 = [string11 substringWithRange:NSMakeRange(2, 2)];        NSLog(@"subString3 = %@",subString3);                //获取字符串中的某个字符        NSString *string12 = @"abcdefg";        char c = [string12 characterAtIndex:0]; //根据字符串中的位置 index 来得到一个字符,注意字符串的索引是从0开始的        NSLog(@"%c",c);                //字符串比较,如何判断两个字符串是否相等        if (subString2 == subString3)        {            //内容和指针都相等时,才成立            NSLog(@"subString2 和 subString3 相等");        }        else        {            NSLog(@"subString2 和 subString3 不相等");        }                /*         如何才能让两个字符串的指针和内容都相等呢?         P96         这里需要注意两个概念 :  浅拷贝 和 深拷贝         浅拷贝:是指源对象与拷贝对象共用一份实体,仅仅是引用的变量名称不同。                  深拷贝:是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另一个对象造成影响。                  在字符串中,[NSString stringWithString:] 方法是用于浅拷贝一个现有的字符串产生一个字符串         */                NSString *subString4 = [NSString stringWithString:subString2];                NSString *subString5 = [NSString stringWithFormat:@"%@",subString2];                if (subString2 == subString5)        {            //内容和指针都相等时,才成立            NSLog(@"subString2 和 subString5 相等");        }        else        {            NSLog(@"subString2 和 subString5 不相等");        }            //在实际开发过程中,我们通常只需要比较两个字符串的内容是否相等        if ([subString2 isEqualToString:subString5])        {            NSLog(@"subString2 和 subString5 内容相等");        }        else        {            NSLog(@"subString2 和 subString5 内容不相等");        }                //比较两个字符串的大小        NSString *cmpString1 = @"hehehehehehe";        NSString *cmpString2 = @"hahahahahaha";                NSComparisonResult result = [cmpString1 compare:cmpString2];                switch (result) {            case NSOrderedAscending:            {                NSLog(@"cmpString1 < cmpString2,升序");            }                break;            case NSOrderedSame:            {                NSLog(@"cmpString1 = cmpString2");            }                break;            case NSOrderedDescending:            {                NSLog(@"cmpString1 > cmpString2,降序");            }                break;            default:                break;        }                //根据字符串拿到对应的range        //NSString *string11 = @"你是逗比么,我都受不了你了";        NSRange range = [string11 rangeOfString:@"逗比"];        NSLog(@"%@",[NSValue valueWithRange:range]);                //只输出第一个遇到该字符串的位置 及 该字符串的长度        NSRange range1 = [string11 rangeOfString:@"你"];        NSLog(@"%@",[NSValue valueWithRange:range1]);                        //判断字符串中是否有XX前缀 或 XX后缀        NSString *string13 = @"http://www.baidu.com";                if ([string13 hasPrefix:@"http://"])        {            NSLog(@"含有此前缀");        }        else        {            NSLog(@"不含有此前缀");        }                //判断是否为 jpg 或 png 后缀        NSString *string14 = @"dkjfkj.jpg";        if ([string14 hasSuffix:@".jpg"] || [string14 hasSuffix:@"png"])        {            NSLog(@"含有此后缀");        }        else        {            NSLog(@"不含有此后缀");        }                        //字符串  拼接        NSString *string15 = @"www.baidu.com";        NSString *string16 = [@"http://" stringByAppendingString:string15];     //直接把两个字符串连接起来,调用者在前,传进来的字符串在后        NSLog(@"string16 = %@",string16);                //http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg        NSString *string17 = @"http://img0.bdstatic.com/img/image/shouye";        NSString *string18 = @"hbmnp003.jpg";        NSString *string19 = [string17 stringByAppendingFormat:@"/%@",string18];    //连接两个字符串,并且第二个字符串是按一定格式传进来的        NSLog(@"string19 = %@",string19);        //        NSString *string20 = [@"http://" stringByAppendingPathComponent:string18];//        NSLog(@"string20 = %@",string20);                NSString *string21 = @"http://img0.bdstatic.com/img/image/shouye/hbmnp003.jpg/ddddd";//        NSString *string21 = @"a\\dd\\dfds\\s\\t";                NSString *string22 = [string21 lastPathComponent];        NSLog(@"string22 = %@",string22);                        NSString *theImageName = @"Rick";        NSString *string23 = @"png";//        NSString *q = [theImageName stringByAppendingFormat:@".%@",string23];//        NSLog(@"%@",q);        NSString *string24 = [theImageName stringByAppendingPathExtension:string23];        NSLog(@"string24 = %@",string24);                        //字符串的其他常用方法        //1.字符串的转换函数        NSString *str1 = @"111add333";        int a1 = [str1 intValue];        float b1 = [str1 floatValue];        double c1 = [str1 doubleValue];        NSLog(@"%d",a1);                        //2.字符串大小写转换函数        NSString *str2 = @"aaabb";        NSString *str3 = [str2 uppercaseString];    //将字符全部改写成大写        NSLog(@"str3 = %@",str3);                NSString *str4 = [str3 lowercaseString];    //将字符全部改写成小写        NSLog(@"str4 = %@",str4);                NSString *str5 = [str2 capitalizedString];   //将首个字符改写成大写,其余的都小写        NSLog(@"str5 = %@",str5);                        //字符串的替换函数                NSString *str6 = [str2 stringByReplacingOccurrencesOfString:@"bb" withString:@"dd"];        NSLog(@"str6 = %@",str6);                NSString *str7 = [str2 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"cc"];  //将原字符串中range范围内的内容替换成replacement的内容        NSLog(@"str7 = %@",str7);                NSString *str8 = @"aa-bb-cc-dd-ee";                NSArray *array = [str8 componentsSeparatedByString:@"-"];        //以separator为分隔符,将原字符串的内容进行分割,分割得到的结果放到一个数组里,作为返回值                NSLog(@"array = %@",array);    }    return 0;}</span>

0 0
原创粉丝点击