您的位置:首页 > 移动开发 > Objective-C

#Objective - C - Fourth-Day NSString的常用语法点总结

2015-12-19 15:16 447 查看
NSString为不可变字符串,NSMutableString可变更字符串(但必须初始化)

初始化

列表内容

字符串截取

字符串比较

字符串长度

字符串相等与前后缀

存在关系

字符串拼接

类型转换

字符串转换数组

大小写替换

去除字符串的符号

可变字符串

初始化

[code]//创建字符串
NSString *str1 = [NSString stringWithFormat:@"鸡.贼memem3.1415962daHHH.a"];
//[NSString string];
NSString *str2 = [[NSString alloc]initWithString:str1];
//指定字符串初始化NSString对象
NSString *str3 = [NSString stringWithFormat:@"%@,%@",str1,str2];


字符串截取

[code][str1 substringFromIndex:3];
[str1 substringToIndex:2]; //从下标0开始截取
[str1 substringWithRange:NSMakeRange(1, 2)];


字符串比较

[code]if ([str1 compare:str3]) {
        NSLog(@"不同");
    }
[str1 caseInsensitiveCompare:str3];//不区别大小写比较

//比较输出数值
NSComparisonResult result = [str1 compare:str3];
    switch(result){
        case NSOrderedSame:         //比较相等
            NSLog(@"相同");
            break;
        case NSOrderedAscending:        //左边的大
            NSLog(@"前大后小");
            break;
        case NSOrderedDescending:       //右边的大
            NSLog(@"后大前小");
            break;
        default:
            break;
    }


字符串长度

[code][str3 length];


字符串的相等相等

字符串的前缀后缀

[code]if ([str1 isEqualToString:str2]) {
        }  //相等

[str1 hasPrefix:@"鸡"];//前缀
[str1 hasSuffix:@"a"];//后缀


存在关系

[code]//存在关系 - (NSRange)rangeOfString:(NSString *)aString; 
//搜索字符串One是否存在于字符串Two

NSLog(@"%ld",[str3 rangeOfString:str1].location);
//判断字符串str3是否存在于字符串str1


字符串拼接

[code][str1 stringByAppendingString:str3];
[str1 stringByAppendingFormat:str2,str3];//将str2和str3拼接到str1后
NSString *str = [NSString stringWithFormat:str2,str3];


类型转换

[code]NSLog(@"%f",[str doubleValue]);
NSLog(@"%f", [str floatValue]);
NSLog(@"%d", [str intValue]);
NSLog(@"%ld", [str integerValue]);
NSLog(@"%lld", [str longLongValue]);
NSLog(@"%d", [str boolValue]);


字符串转换为数组

[code]NSString *change = @"1,2,3,4";
[[change componentsSeparatedByString:@","]objectAtIndex:3];


大小写间转换

[code][str1 uppercaseString];//全大写
[str1 lowercaseString];//小写
[str1 capitalizedString];//首字母大写


去除字符串的空格和字符

[code][@"  saldaj " stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; //去掉字符串最右边的一个空格
NSLog(@"%@",[@"  saldaj" stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]);//去掉回车

NSLog(@"%@",[@"110.01300" stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"0"]]);//去掉字符串右边所有"0"


去除特殊符号 或任意符号

[code]NSCharacterSet *delect = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];

NSString *strold = @"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*(我最帅)_+'\"";

strold = [strold stringByTrimmingCharactersInSet:delect];//strnew 为删除了delect中特殊符号后 剩下保留的字符串
NSLog(@"%@",strold);


字符串替换

[code]NSString *string = @"夏浩文最帅啦HHHHaaaa";
[string stringByReplacingOccurrencesOfString:@"夏浩文" withString:@"夏小龙"];

[string stringByReplacingOccurrencesOfString:@"夏浩文" withString:@"夏小龙" options:NSCaseInsensitiveSearch range:NSMakeRange(0, 3)];
//在不区别大小写比较的情况下 且从范围(下标,长度)下的 @"夏浩文"替换成@"夏小龙"

[string stringByReplacingCharactersInRange:NSMakeRange(0, 3) withString:@"么么哒"];
//指定从下标第0个开始三个字符串替换成@"么么哒"


可变字符串(必须初始化)

[code]NSMutableString *mustr = [NSMutableString stringWithString:@"heating,too hot"];
//替换
[mustr replaceCharactersInRange:NSMakeRange(8, 7) withString:@"yeah! hot much!"];
NSLog(@"%@",mustr);//不能直接放入nslog里使用

//插入
[mustr insertString:@"It's" atIndex:7];//从索引位置开始插入

//删除指定区域
[mustr deleteCharactersInRange:NSMakeRange(0, 7)];
NSLog(@"%@",mustr);

//追加(拼接)
[mustr appendString:@"meemda"];
[mustr appendFormat:@",%d %@",11,@"go"];//进行多个拼接
NSLog(@"%@",mustr);


OC路途漫漫,努力学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: