今天听人介绍了一个比较简单的过滤方法...不多说了,直接上代码
1 NSString *str = @"一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入"; 2 NSMutableCharacterSet *set = [[NSMutableCharacterSet alloc] init]; 3 [set formUnionWithCharacterSet:[NSCharacterSet lowercaseLetterCharacterSet]];//小写字母 4 NSLog(@"1 %@",[str stringByTrimmingCharactersInSet:set]); 5 [set formUnionWithCharacterSet:[NSCharacterS et uppercaseLetterCharacterSet]];//大写字母 6 NSLog(@"2 %@",[str stringByTrimmingCharactersInSet:set]); 7 [set formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]];//符号 8 NSLog(@"3 %@",[str stringByTrimmingCharactersInSet:set]); 9 [set formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];//标点10 NSLog(@"4 %@",[str stringByTrimmingCharactersInSet:set]);11 [set formUnionWithCharacterSet:[NSCharacterSet controlCharacterSet]];//控制符12 NSLog(@"5 %@",[str stringByTrimmingCharactersInSet:set]);13 [set formUnionWithCharacterSet:[NSCharacterSet decimalDigitCharacterSet]];//小数14 NSLog(@"6 %@",[str stringByTrimmingCharactersInSet:set]);15 [set formUnionWithCharacterSet:[NSCharacterSet letterCharacterSet]];//文字16 NSLog(@"7 %@",[str stringByTrimmingCharactersInSet:set]);17 [set formUnionWithCharacterSet:[NSCharacterSet nonBaseCharacterSet]];//非基础18 NSLog(@"8 %@",[str stringByTrimmingCharactersInSet:set]);19 [set formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];//字母数字20 NSLog(@"9 %@",[str stringByTrimmingCharactersInSet:set]);21 [set formUnionWithCharacterSet:[NSCharacterSet decomposableCharacterSet]];//可分解22 NSLog(@"10 %@",[str stringByTrimmingCharactersInSet:set]);23 [set formUnionWithCharacterSet:[NSCharacterSet illegalCharacterSet]];//非法24 NSLog(@"11 %@",[str stringByTrimmingCharactersInSet:set]);25 [set formUnionWithCharacterSet:[NSCharacterSet capitalizedLetterCharacterSet]];//大写26 NSLog(@"12 %@",[str stringByTrimmingCharactersInSet:set]);27 [set formUnionWithCharacterSet:[NSCharacterSet newlineCharacterSet]];//换行符28 NSLog(@"13 %@",[str stringByTrimmingCharactersInSet:set]);29 [set formUnionWithCharacterSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];//空格换行30 NSLog(@"14 %@",[str stringByTrimmingCharactersInSet:set]);
1 2012-07-26 19:11:01.863 yingkong1987[12876:fb03] 1 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 2 2012-07-26 19:11:01.864 yingkong1987[12876:fb03] 2 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 3 2012-07-26 19:11:01.864 yingkong1987[12876:fb03] 3 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 4 2012-07-26 19:11:01.864 yingkong1987[12876:fb03] 4 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 5 2012-07-26 19:11:01.865 yingkong1987[12876:fb03] 5 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 6 2012-07-26 19:11:01.865 yingkong1987[12876:fb03] 6 一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入 7 2012-07-26 19:11:01.865 yingkong1987[12876:fb03] 7 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 8 2012-07-26 19:11:01.865 yingkong1987[12876:fb03] 8 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 9 2012-07-26 19:11:01.865 yingkong1987[12876:fb03] 9 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 10 2012-07-26 19:11:01.866 yingkong1987[12876:fb03] 10 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 11 2012-07-26 19:11:02.170 yingkong1987[12876:fb03] 11 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 12 2012-07-26 19:11:02.170 yingkong1987[12876:fb03] 12 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 13 2012-07-26 19:11:02.170 yingkong1987[12876:fb03] 13 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 14 2012-07-26 19:11:02.170 yingkong1987[12876:fb03] 14
发现这个方法有一个很大的缺点..比如要去掉(ABC)的英文部分..必须要先去掉外面的括号....不然无法过滤...
空格亦是如此
如果有更好的过滤方法,欢迎留言讨论