OC 字符串常用方法总结

#import <Foundation/Foundation.h>

#pragma mark 初始化字符串
void initStr() {
    //1.init
    NSString *str1 = [[NSString alloc ]init];//不可改变的空字符串 无意义
    NSString *str2 = [NSString string];
    NSLog(@"%@-----%@", str1, str2);
    //2
    NSString *str3 = [[NSString alloc] initWithFormat:@"%iAA",2];
    NSString *str4 = [NSString stringWithFormat:@"%iBB", 3];
    NSLog(@"%@-----%@", str3, str4);
    //3快捷方式
    NSString *str5 = @"QWE";
    NSLog(@"%@", str5);
    
}
#pragma mark 从文件中获取字符串
void getStrFromFile() {
    NSString *str = [NSString stringWithContentsOfFile:@"/Users/lanou3g/Desktop/a.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@", str);
}
#pragma mark 字符串写入文件
void setStrInFile() {
    NSString *str = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    NSError *error ;
    [str writeToFile:@"/Users/lanou3g/Desktop/a.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
    if (error)
        NSLog(@"文件写入失败%@", [error localizedDescription]);
    else
        NSLog(@"文件写入成功");
}

#pragma mark 获取字符串长度
void getStrLength() {
    NSString *str = @"赵延伟";
    str = @"AA";
    NSInteger length = [str length];//1返回的字符个数
    NSLog(@"length = %zi", length);//3
    
    length = [str lengthOfBytesUsingEncoding:NSUTF8StringEncoding];//2 返回指定编码的字节数 (针对汉字)
    NSLog(@"length = %zi", length);//9
    
    length = [str maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding];//3 返回字节存储接收器在给定的编码所需的最大数目(不知所云)
    NSLog(@"length = %zi", length);
}

#pragma mark 获取字符
void getChar() {
    NSString *str = @"ABC";
    char ch = [str characterAtIndex:1];//根据索引获取字符 ch = c
    
 //  [str getCharacters:'C' range:NSMakeRange(0, 1)];//???
    
    
    NSLog(@"%c",ch);
}

#

#pragma mark 获取C语言的字符串
void getCStr() {
    NSString *str = @"AAAABBC";
    const char *ch1 = [str UTF8String];//不可变的
    NSLog(@"%s",ch1);
    
  //  BOOL b= [str getCString:"12" maxLength:7 encoding:NSUTF8StringEncoding];不明确
    
    const char *ch2 = [str cStringUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"%s",ch2);
    //NSLog(@"%@", str);
    
}

#pragma mark 拼接字符串
void appendStr() {
    NSString *str = @"AAA";
    NSString *temp = @"BB";
    //1
    NSLog(@"%@", [str stringByAppendingString:temp]);
    //2
    NSLog(@"%@", [str stringByAppendingFormat:@"%iKFC%.2f", 8, 3.14]);
    //3 参数说明 第一个返回的字符串长度 第二个是 追加的字符串 第三个是追加字符串的索引值
    str = [str stringByPaddingToLength:9 withString:@"233" startingAtIndex:2];
    NSLog(@"%@", str);
}

#pragma mark 拆分字符串
void didStr() {
    NSString *list = @"Karin, Carrie, David";
    NSArray *listItems = [list componentsSeparatedByString:@", "];
    NSLog(@"%@",listItems);
    
    NSString *str = @"ABCDEFGHI";
    str = [str substringFromIndex:2];//包括当前位置
    
    NSLog(@"%@",str);
    str = [str substringToIndex:6];//不包括当前位置
   
    NSLog(@"%@",str);
    str = [str substringWithRange:NSMakeRange(1, 3)];
    
    NSLog(@"%@",str);
}

#pragma mark 查找字符串
void findStr() {
    NSString *str = @"1234AAA5678";
    NSRange range = [str rangeOfString:@"AAA"];
    NSLog(@"%@", NSStringFromRange(range));
    
    range = [str rangeOfString:@"AAA" options:1];//1表示并行
    NSLog(@"%@", NSStringFromRange(range));
    
    range = [str rangeOfString:@"AAA" options:1 range:NSMakeRange(0, 6)];
    NSLog(@"%@", NSStringFromRange(range));//不存在时候 判断 range.length == 0
}
#pragma mark 替换字符串
void replaceStr() {
    NSString *str = @"1234AAA5678";
    str = [str stringByReplacingOccurrencesOfString:@"AAA" withString:@"BBB"];
    str = [str stringByReplacingCharactersInRange:NSMakeRange(6, 3) withString:@"CCC"];

    NSLog(@"%@", str);
}
int main(int argc, const char * argv[])
{

    @autoreleasepool {
        //initStr();
        //getStrFromFile();
        //setStrInFile();
        //getStrLength();
        //getChar();
        //getCStr();
        //appendStr();
        
        //didStr();
       // findStr();
        replaceStr();
        //NSArray;
        
        
    }
    return 0;
}

 

posted @ 2014-11-11 22:40  杯水文圣  阅读(364)  评论(0编辑  收藏  举报