ios 操作字符串

来源:互联网 发布:java去除html代码 编辑:程序博客网 时间:2024/05/18 04:40

1.截取字符串

    NSString *string =@"1234567890";    string = [string substringToIndex:7];//截取下标7之前的字符串    NSLog(@"截取的值为:%@",string);    string =[string substringFromIndex:2];//截取下标2之后的字符串    NSLog(@"截取的值为:%@",string);

2.匹配字符串

    NSString *string =@"this is a test string!";    NSRange range = [string rangeOfString:@"stri"];//匹配得到的下标    NSLog(@"rang:%@",NSStringFromRange(range));    string = [string substringWithRange:range];//截取范围类的字符串    NSLog(@"截取的值为:%@",string);

3.分隔字符串

    NSString*string =@"name,age";        NSArray *array = [string componentsSeparatedByString:@","]; //从字符A中分隔成2个元素的数组    NSLog(@"array:%@",array); //结果是name和age

4.NSString字符串的比较

    NSString *string1 = @"我是甲一号";    NSString *string2 = @"我是甲一号";    BOOL result = [string1 isEqualToString:string2];    if (result) {        NSLog(@"字符串相同");    }

5、创建格式化字符串

    int a = 10;    NSString *b = @"hello";    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@,这是第 %i 字符串",b,a]];    NSLog(@"astring:%@",astring);
格式化输出的符号:
%@     对象%d, %i 整数%u     无符整形%f     浮点/双字%x, %X 二进制整数%o     八进制整数%zu    size_t%p     指针%e     浮点/双字 (科学计算)%g     浮点/双字%s     C 字符串%.*s   Pascal字符串%c     字符%C     unichar%lld   64位长整数(long long)%llu   无符64位长整数%Lf    64位双字%e 是实数,用科学计数法计的

6、匹配开头和结尾

hasPrefixe   匹配字符串头
haSuffix     匹配字符串的尾巴

    NSString *string1 = @"卡拉是条狗";    NSString *string2 = @"狗狗叫卡拉";    //字符串以开头比较    if([string1 hasPrefix:@"卡拉"])    {        NSLog(@"字符串string1以卡拉开头");    }    //字符串以结尾比较    if([string2 hasSuffix:@"卡拉"])    {        NSLog(@"string2字符串以卡拉结尾");    }
7.在字符串中搜索子串和替换

    NSString *string = @"我们是 gong产 主义 接班人";    NSString *temp = @"gong产";    NSString *me = @"我";    NSRange rang = [string rangeOfString:temp];    NSRange rang1 = [string rangeOfString:me];        NSLog(@"搜索的字符串在string中起始点的index 为 %d", rang.location);    NSLog(@"搜索的字符串在string中结束点的index 为 %d", rang.location + rang.length);    NSLog(@"我 在字符串 string中的起点的index  为 %d",rang1.location);        //将搜索中的字符串替换成为一个新的字符串    NSString *str = [string stringByReplacingCharactersInRange:rang withString:@"大产"];    NSLog(@"替换后字符串为%@", str);        //将字符串中" " 全部替换成 *    str = [string stringByReplacingOccurrencesOfString :@" " withString:@"*"];    NSLog(@"替换后字符串为%@", str);

8、字符串编码转换


使用NSURLConnection的代理方法下载网页,存到一个NSData中:

    NSMutableData *pageData=nil;    [pageData appendData:data];
如果网页编码是UTF-8的,可以这么转换为字符串:
NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];
如果网页是gbk(或者gb2312),用UTF8转换的话,pageSource返回nil。这时需要使用gbk编码做转换,但是NSStringEncoding不含gbk,用另一个方法处理一下:

    NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);    NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:gbkEncoding];


参考:http://blog.sina.com.cn/s/blog_6f40a0e70100w2q4.html