NSCharacterSet 对于字符串的处理

   /*
     
     1 controlCharacterSet              //控制符
     2 whitespaceCharacterSet           //空格符号
     3 whitespaceAndNewlineCharacterSet //空格换行
     4 decimalDigitCharacterSet         //小数
     5 letterCharacterSet               //文字
     6 lowercaseLetterCharacterSet      //小写字母
     7 uppercaseLetterCharacterSet      //大写字母
     8 nonBaseCharacterSet              //非基础 (汉字英文就属于非基础)
     9 alphanumericCharacterSet         //字母数字
     10 decomposableCharacterSet        //可分解
     11 illegalCharacterSet             //非法
     12 punctuationCharacterSet         //标点
     13 capitalizedLetterCharacterSet   //大写
     14 symbolCharacterSet              //符号
     15 newlineCharacterSet             //换行符
     
     http://blog.csdn.net/huifeidexin_1/article/details/7977857
     
     */
</pre><pre code_snippet_id="1877817" snippet_file_name="blog_20160912_4_4096609" name="code" class="objc">    //字母
    NSMutableCharacterSet *zimuChar = [NSMutableCharacterSet lowercaseLetterCharacterSet];
    
    //十进制数字
    NSMutableCharacterSet *suzhiChar = [NSMutableCharacterSet decimalDigitCharacterSet];
    
    
    NSString *mainStr = @"asdfg123qwerty123zxcvb123";
    
    //把所有的字母去掉,用-拼接
    NSString *newStr1 = [[mainStr componentsSeparatedByCharactersInSet:zimuChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStr1); //-----123------123-----123
    
    
    //把所有的数字去掉,用-拼接
    NSString *newStr3 = [[mainStr componentsSeparatedByCharactersInSet:suzhiChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStr3);  // asdfg---qwerty---zxcvb---
    
    
    //去掉所有的数字和字母
    [zimuChar formUnionWithCharacterSet:suzhiChar];
    NSString *newStrNew = [[mainStr componentsSeparatedByCharactersInSet:zimuChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStrNew);  //-------------------------
    
    
    //作用相反
    //把除了字母意外的,全部用-拼接
    [zimuChar invert];
    
    NSString *newStr2 = [[mainStr componentsSeparatedByCharactersInSet:zimuChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStr2);  //asdfg---qwerty---zxcvb---
    
    
    
    //作用相反。把除了数字意外的,全部用-拼接
    [suzhiChar invert];
    NSString *newStr4 = [[mainStr componentsSeparatedByCharactersInSet:suzhiChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStr4);  //-----123------123-----123
    
    

    //字母留下 +  字母去掉,留下数字   = 数字留下
    //最终还是留下所有的数字
    [zimuChar formUnionWithCharacterSet:suzhiChar];
    NSString *newStrNewInvert = [[mainStr componentsSeparatedByCharactersInSet:zimuChar] componentsJoinedByString:@"-"];
    NSLog(@"%@",newStrNewInvert); //-----123------123-----123
    


    NSString *strMsg = @"  我爱  北京天安门";
    
    
    //去掉前后两端的空格
    NSString *strResult = [strMsg stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSLog(@"%@",strMsg);        //   我爱  北京天安门
    NSLog(@"%@",strResult);     //我爱  北京天安门


    //去掉首尾制定的字符集 (必须是在最前、嘴壶)
    NSString *strMsg2 = @"我爱  北京天安门";
    
    NSCharacterSet *cs = [NSCharacterSet characterSetWithCharactersInString:@"天安门"];
    NSString *strResult2 = [strMsg2 stringByTrimmingCharactersInSet:cs];
    NSLog(@"%@",strResult2);  //我爱  北京  (后面无空格)
    
    NSCharacterSet *cs2 = [NSCharacterSet characterSetWithCharactersInString:@"我爱"];
    NSString *strResult3 = [strMsg2 stringByTrimmingCharactersInSet:cs2];
    NSLog(@"%@",strResult3);  //  北京天安门 (前面有空格)

    NSMutableString *strMsg3 = [[NSMutableString alloc] initWithString:@"我爱北京天安门"];
    NSCharacterSet *cs3 = [NSCharacterSet characterSetWithCharactersInString:@"北京"];
    NSString *strResult4 = [self clearnIllegitCharacters:strMsg3 andCharacterSet:cs3];
    NSLog(@"%@",strResult4);
- (NSString *)clearnIllegitCharacters:(NSMutableString *)originString andCharacterSet:(NSCharacterSet *)cs{
    
    NSString *strResult=nil;
    NSRange range2;
    do {
        range2=[originString rangeOfCharacterFromSet:cs options:NSLiteralSearch];
        if (range2.location!=NSNotFound) {

            [originString replaceCharactersInRange:range2 withString:@"*"];
        }
    } while (range2.location!=NSNotFound);
    
    strResult=[[NSString alloc] initWithString:originString];
    
    return strResult;
    
    
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值