NSCharacter​Set和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</span>

判断一个字符是否在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<pre name="code" class="objc">    //除以包含的以外的set  
[set2 invert];  

操作实例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容