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];
操作实例