/*
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.youkuaiyun.com/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;
}