OC - NSStringAndNSMutableString

<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;
}

你可能感兴趣的:(字符串,NSString,字符串方法,NSMutalbeString,字符串替换比较截取等)