NSCharacterSet和NSMutableCharacterSet字符过滤、删除或者分割操作

NSCharacterSet和NSMutableCharacterSet是用来表示一组Unicode字符,它经常与NSString及NSScanner组合起来使用,在不同的字符上做过滤、删除或者分割操作。

系统提供的常用的创建NSCharacterSet的类方法

[NSCharacterSet alphanumericCharacterSet];          //所有数字和字母(大小写)  
[NSCharacterSet decimalDigitCharacterSet];          //0-9的数字  
[NSCharacterSet letterCharacterSet];                //所有字母  
[NSCharacterSet lowercaseLetterCharacterSet];       //小写字母  
[NSCharacterSet uppercaseLetterCharacterSet];       //大写字母  
[NSCharacterSet punctuationCharacterSet];           //标点符号  
[NSCharacterSet whitespaceAndNewlineCharacterSet];  //空格和换行符  
[NSCharacterSet whitespaceCharacterSet];            //空格  

通过自定义创建NSCharacterSet的方法

[NSCharacterSet characterSetWithCharactersInString:@"Hello"]; //String中的文字组成的set  
[NSCharacterSet characterSetWithRange:NSMakeRange(48, 10)]];//Range中对应的是字符编码的数字哦:此处为(0-9)  
[[NSCharacterSet decimalDigitCharacterSet] invertedSet];//数字之外的字符组成的set

判断一个字符是否在set中

 [[NSCharacterSet decimalDigitCharacterSet] characterIsMember:48];  

判断一个set是否是另一个set的"超set"

NSMutableCharacterSet *set1 = [NSMutableCharacterSet characterSetWithCharactersInString:@"Hell"];  
NSMutableCharacterSet *set2 = [NSMutableCharacterSet characterSetWithCharactersInString:@"ello"];  
//去掉某些字符  
[set2 removeCharactersInString:@"e"]; //--->l, o  
//加上某些字符  
[set2 addCharactersInString:@"e"];    //--->e, l, o  
//set相加  
[set2 formUnionWithCharacterSet:set1]; //--->H,e,l,o  
//本身加上另外一个的set相交  
[set2 formIntersectionWithCharacterSet:set1]; //--->H,e,l
    //除以包含的以外的set  
[set2 invert];  

操作实例

你可能感兴趣的:(NSCharacterSet和NSMutableCharacterSet字符过滤、删除或者分割操作)