iOS

NSString常用方法

2019-01-21  本文已影响4人  习惯了_就好
   //字符串的创建
    NSString *str= @"abc";
    NSLog(@"str %@",  str);
    
    NSString * str2 = [NSString new];
    NSLog(@"str2 %@",  str2);
    
    NSString * str3 = [NSString stringWithFormat:@"%@,%@",@"abc",@"def" ];
    NSLog(@"str3 %@",str3);
    
    char * c = "abcd";
    NSString *str4 = [[NSString alloc] initWithCString:c encoding:nil];
    NSLog(@"str4 %@",str4);
    
    //字符串常用方法
    NSString *str5 =    @"abcdefghij";
    NSUInteger  len= [str5 length];
    NSLog(@"str5的长度是:%lu",len);
    NSLog(@"str5的长度是:%lu",str5.length);
    
    NSLog(@"str5的第4个字符是%c",[str5 characterAtIndex:3]);
    
    NSLog(@"str5从第3个字符开始的字符串:%@",[str5 substringFromIndex:2]);
    
    NSLog(@"str5从开始到第6个字符的字符串:%@",[str5 substringToIndex:5]);
    
    NSRange range = {2,6};
    NSLog(@"str5从第3个开始后面6个字符组成的子串为%@",[str5 substringWithRange: range]);
    
    //        NSRange
    //获取一个字符串的索引位置
    NSString * temp = @"cde";
    NSRange nsRange1 = [str5 rangeOfString:temp];
    NSLog(@"location %d,length %d",nsRange1.location,nsRange1.length);
    NSLog(@"rangeOfString %@",NSStringFromRange(nsRange1));
    
    NSRange nsRange2 = [str5 rangeOfString:temp options:NSCaseInsensitiveSearch];
    if (nsRange2.location == NSNotFound) {
        NSLog(@"不在里面");
    }else{
        NSLog(@"rangeOfString %@",NSStringFromRange(nsRange2));
    }
    
    //      判断字符串是否为空
    NSString * str6 = @"";
    if (str6==nil||str6.length==0) {
        NSLog(@"字符串为空");
    }else{
        NSLog(@"字符串不为空");
    }
    
    //判断两个字符串是否相等
    NSString *str7 = @"abcd";
    NSString *str8 = @"abcd";
    if ([str7 isEqualToString:str8]) {
        NSLog(@"相等");
    }else{
        NSLog(@"不相等");
    }
    
    NSComparisonResult result = [str7 compare:str8];
    //比较两个字符串
    switch (result) {
        case NSOrderedAscending:
            NSLog(@"NSOrderedAscending");
            break;
        case NSOrderedSame:
            NSLog(@"NSOrderedSame");
            break;
        case NSOrderedDescending:
            NSLog(@"NSOrderedDescending");
            break;
        default:
            break;
    }
    
    //是否以什么字符串开始
    NSString *str9 = @"www.baidu.com";
    NSLog(@"%@ 是否是以www开头:%@",str9,[str9 hasPrefix:@"www"]?@"是":@"否");
    
    //是否以什么字符串结尾
    NSLog(@"%@是否是以com结尾:%@",str9,[str9 hasSuffix:@"com"]?@"是":@"否");
    
    //int -> NSString
    int i = 123;
    NSLog(@"int %d 转换成NSString类型为%@",i,[NSString stringWithFormat:@"%d",i ]);
    
    //NSString ->int
    NSString *stri = @"123";
    NSLog(@"NSString类型的%@转化成int类型为:%d",stri,[stri intValue]);
    
    //float ->NSString
    float f = 123.456;
    NSLog(@"float%f转换成NSString类型为%@",f,[NSString stringWithFormat:@"%f",f ]);
    
    //        NSString ->float
    NSString *strf = @"123.456";
    NSLog(@"NSString类型的%@转换成float类型为%d",strf,[strf floatValue]);
    
    //        double ->NSString
    double b = 123.4567;
    NSLog(@"double%f转换成NSString类型为%@",b,[NSString stringWithFormat:@"%f",b] );
    
    //        NSString ->double
    NSString *strd = @"123.4567";
    NSLog(@"NSString类型的%@转换成double类型为%f",strd,[strd doubleValue]);
    
    //        char -> NSString
    char cc = 'a';
    NSLog(@"char%c转换成NSString类型为%@",cc,[NSString stringWithFormat:@"%c",cc]);
    
    //        小写转大写
    NSString *str10 = @"abcdf";
    NSLog(@"abcdf转换成大写:%@",[str10 uppercaseString]);
    //        首字母转成大写
    NSLog(@"abcdf首字母转成大写:%@",[str10 capitalizedString]);
    //        大写转小写
    NSString *str11 = @"ABCDE";
    NSLog(@"ABCDE转成小写为:%@",[str11 lowercaseString]);
    
    //        字符串拼接
    int year = 1991;
    int month = 03;
    int day = 20;
    NSString *birthday =[ NSString stringWithFormat:@"生日%d年%d月%d日",year,month,day ];
    NSLog(@"字符串拼接:%@",birthday);
    
    //        字符串末尾追加新的字符串
    NSString *str12 = @"abcdef";
    NSLog(@"abcdef末尾追加字符串:%@",[str12 stringByAppendingString:@"ghi"]);
    
    //        在指定范围内追加字符串
    NSRange range12 = {1,3};
    NSLog(@"abcdef从第二个字符串开始,用12替换掉3个字符:%@",[str12 stringByReplacingCharactersInRange:range12 withString:@"12"]);
    
    //        使用新字符替换原有字符
    NSLog(@"用字符#替代abcdef字符串中的c%@",[str12 stringByReplacingOccurrencesOfString:@"c" withString:@"#"]);
    
    NSLog(@"过滤字符串中的空格%@",[@" abc def " stringByReplacingOccurrencesOfString:@" " withString:@""]);
    
    //将字符串写入文件
    NSString * str13 = @"abcdef";
    NSString * path = @"/Users/song/Documents/ios/test/test.txt";
    NSError *error ;
   BOOL isWriteSuccess = [str13 writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];

    if (isWriteSuccess) {
        NSLog(@"文件创建成功");
    }else{
        NSLog(@"文件创建失败,失败原因:%@",error);
    }
    
    //        读取文件
  NSString *readContent =  [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
    if (error ==nil) {
        NSLog(@"文件读取成功,内容为:%@",readContent);
    }else{
        NSLog(@"文件读取失败,失败原因:%@",error);
    }
    
    
     //       NSMutableString
    //        可变字符串
    //        继承自NSString,拥有NSString所有的属性以及方法
    NSMutableString * nmStr = [[NSMutableString alloc] init];
    //初始化字符串内容
    [nmStr setString:@"abc"];
    NSLog(@"setString  %@",nmStr);
    //动态给字符串末尾追加新值
    [nmStr appendString:@"def"];
    NSLog(@"appendString  %@",nmStr);
    //给字符串指定位置添加内容
    [nmStr insertString:@"www" atIndex:2];
    NSLog(@"insertString  %@",nmStr);
    //删除指定范围的字符串
    NSRange mutablrange = {2,3};
    [nmStr deleteCharactersInRange:mutablrange];
    NSLog(@"deleteCharactersInRange  %@",nmStr);
    //替换字符串指定内容
    [nmStr replaceCharactersInRange:mutablrange withString:@"baidu"];
    NSLog(@"%@",nmStr);
    ```
上一篇 下一篇

猜你喜欢

热点阅读