过滤字符串

18 篇文章 0 订阅
NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到

  NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLetterCharacterSet]; //字母

  NSCharacterSet *decimalDigit = [NSCharacterSet decimalDigitCharacterSet];   //十进制数字

  [base formUnionWithCharacterSet:decimalDigit];    //字母加十进制

  NSString *string = @"ax@d5s#@sfn$5`SF$$%x^(#e{]e";

  //用上面的base隔开string然后组成一个数组,然后通过componentsJoinedByString,来连接成一个字符串

  NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);

  [base invert];  //非 字母加十进制

  NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);

答应结果:

 

 ax@d-s#@sfn$-`SF$$%x^(#e{]e


NSCharacterSet

实例应用: 

 一、过滤字符串开始位置和结束位置的空格

 1  NSString *testString = @"    my name is wang tianqiao    ";

2      
3      NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

4     NSLog(@"cString is %@",cString); 


本来想写一个查找替换敏感词语的一个小方法,在网络上找了很久,确实现存方法有点乏力!还是自己动手吧!通过查看API,然后,知道对字符串的操作,可以使用两个类:NSCharacterSet和NSString来操作!


废话不多说了,贴代码:
1.去除首尾的空白符号

    NSString *strMsg=@"我爱北京天安门";

    id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];

    NSString *strResult = [strMsg stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];


2.去掉首尾指定的字符集

   NSString *strMsg=@"我爱北京天安门";

    id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];

    NSString *strResult=[strMsg stringByTrimmingCharactersInSet:cs];


3.去除指定的字符集

    NSString *strMsg=@"我爱北京天安门";

    NSCharacterSet *cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];

    NSMutableString *theString=[NSMutableString stringWithString:strMsg];

    NSString *strResult= [self clearnIllegitCharacters:theStringandCharacterSet:cs];


// 清除敏感词语,根据给定的字符串&字符集

- (NSString *)clearnIllegitCharacters:(NSMutableString *)originString andCharacterSet:(NSCharacterSet *)cs{

    

    NSString *strResult=nil;

    NSRange range2;

    do {

        range2=[originString rangeOfCharacterFromSet:cs options:NSLiteralSearch];

        if (range2.location!=NSNotFound) {

//            [originString deleteCharactersInRange:range2];

            [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、付费专栏及课程。

余额充值