OC - NSStringAndNSMutableString

来源:互联网 发布:java发音 编辑:程序博客网 时间:2024/06/08 09:54
<main.m>
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {        //*************************  NSString  ******************************************                //        //initWithFormat: 方法 , 通过给定格式化字符串,复制,给字符串对象赋值//        NSString *str1 = [[NSString alloc] initWithFormat:@"Just so so!%@%d",@"iPhone",6];//        NSLog(@"%@",str1);//       //        //stringWithFormat:方法,其实内部就是alloc + initWithFormat//        NSString *str2 = [NSString stringWithFormat:@"使用便利构造器创建字符串"];//        NSLog(@"%@",str2);//        //         //     一般使用的方法名称:返回值 + 介词 + 参数//        //        //使用 initWithUTF8tring: 将 C语言的字符串转化为 OC 字符串对象//        NSString *str3 = [[NSString alloc] initWithUTF8String:"我是C语言字符串,所以前面不加@"];//        NSLog(@"%@",str3);//   //        //使用便利构造器,将 C语言字符串转化为 OC 字符串对象"//        NSString *str4 = [NSString stringWithUTF8String:"使用便利构造器,将 C语言字符串转化为 OC 字符串对象"];//        NSLog(@"%@",str4);//        //        //常量字符串//        NSString *str5 = @"不可变的字符串";//                        //        //创建一个字符串对象 http://www.github.com//        NSString *str = [[NSString alloc]initWithFormat:@"http://www.github.com"];//        //        //获取长度//        NSInteger length = [str length];//        NSLog(@"length = %ld",length);//        //        //变大写//        NSString *upperStr = [str uppercaseString];//        NSLog(@"%@",upperStr);//        //变小写//        NSString *lowwerStr = [upperStr lowercaseString];//        NSLog(@"%@",lowwerStr);//        //        //判定字符串开头//        BOOL isBegin = [str hasPrefix:@"http:"];//        NSLog(@"%d",isBegin);//        //        //判定字符串结尾//        BOOL isEnd = [str hasSuffix:@".com"];//        NSLog(@"%d",isEnd);//        //        //拼接//        NSString *appendStr = [str stringByAppendingString:@".cn"];//        NSLog(@"%@",appendStr);//        //        //替换//        //注: 在这里替换的是参与的整个字符串,而不是单个字符!!!//        NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"h" withString:@"H"];//        NSLog(@"%@",replaceStr);//        //        //比较//        //后面大,即升序时,返回值为-1,相等时为0,前面大,即降序时,返回值为1//        NSInteger result = [@"aa" compare:@"bb"];//        NSLog(@"%ld",result);//        //        //相等判断//        BOOL isEqual = [@"ab" isEqualToString:@"ab"];//        NSLog(@"%d",isEqual);//        //        //截取//        //substringFromIndex : 从给定下标开始截取到字符串结束位置(包含当前下标)//        NSString *subStr1 = [str substringFromIndex:11];//        NSLog(@"%@",subStr1);//        //substringToIndex : 从头开始截取到给定下标(不包括当前下标)//        NSString *subStr2 = [str substringToIndex:11];//        NSLog(@"%@",subStr2);//        //substringWithRange : 从给定下标开始,取多少个字符//        NSRange range = {11,7};//        NSString *subStr3 = [str substringWithRange:range];//        NSLog(@"%@",subStr3);//        //OC中提供了很多快速创建结构体的方法 NSMake + 结构体名字(NSMakeRange)//        NSString *subStr4 = [str substringWithRange:NSMakeRange(11, 7)];//        NSLog(@"%@",subStr4);////        //获取字符串范围//        NSRange range1 = [ str rangeOfString:@"www"];//        NSLog(@"%ld,%ld",range.location,range.length);//        //将标量 range 转化为字符串对象//        NSString *rangeStr = NSStringFromRange(range1);//        NSLog(@"%@",rangeStr);//        //        //将基本数据类型(数字,字符,浮点型等等)转化为字符串对象//        NSString *inStr = [[NSString alloc] initWithFormat:@"%d",10];//        NSLog(@"%@",inStr);//        //        //对于 NSString对象来说是不可变的操作,不管是拼接,替换,截取还是大小写转换,都对其副本进行操作,其本身是不变的;                                                //创建可变字符串对象        //       //NSMutableString//        NSMutableString *str = [[NSMutableString alloc] initWithFormat:@"love yang ying"];//        NSLog(@"%@",str);//        //        //插入//        [str insertString:@"Taiyang " atIndex:0];//        NSLog(@"%@",str);//        //拼接//        [str appendString:@" and haiyang"];//        NSLog(@"%@",str);//        //删除  从给定下标(包括该下标)为开始删除,删除多少位//        [str deleteCharactersInRange:NSMakeRange(13, 13)];//        NSLog(@"%@",str);//        //重置//        [str setString:@"太阳 爱 海洋"];//        NSLog(@"%@",str);//                //eg:        //给定一个图片文件名,判断字符串中是否以“png”结尾,如果是就替换成“jpg”,如果不是,就拼接”.jpg”//        //        //创建可变字符串对象//        NSMutableString *test = [[NSMutableString alloc]initWithFormat:@"123"];//        //        //判断是否是 png 开头//        BOOL isEnd = [test hasSuffix:@"png"];//        //判断//        if (isEnd) {//            //删除 png//            [test deleteCharactersInRange:NSMakeRange([test length] - 3,  3 )];//            //再拼接//            [test appendFormat:@"jpg"];//        }else {//            //            [test appendFormat:@".jpg"];//        }//        NSLog(@"%@",test);                  // 判断字符串"aBcD_EfGk"中是否有 EfGk, 若有将其转换为 WXYZ, 并让字符串的大写字母转成小写,输出最终字符串                //方法一//        NSString *str = @"aBcD_EfGk";//        //替换//        NSString *replaceStr = [str stringByReplacingOccurrencesOfString:@"EfGk" withString:@"WXYZ"];//        NSLog(@"%@",replaceStr);//        //变小写//        NSString *lowerStr = [replaceStr lowercaseString];//        NSLog(@"%@",lowerStr);//        //        //方法二//        //        //判断字符串是否存在//        //        NSRange range = [str rangeOfString:@"EfGk"];//        //rangeofstring 是获取字符串范围的方法,若可以查到则.length 会显示长度为4 ,如果没有,则. length 长度为0//        if (range.length > 0 ) {//            NSLog(@"存在");//        }else{//            NSLog(@"不存在");//        }//        NSLog(@"%ld,%ld",range.length ,range.location );//                            }    return 0;}

0 0