过滤字符串
2016-07-26 11:09
260 查看
NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到
NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLetterCharacterSet]; //字母
NSCharacterSet *decimalDigit = [NSCharacterSet decimalDigitCharacterSet]; //十进制数字
[base formUnionWithCharacterSet:decimalDigit]; //字母加十进制
NSString *string = @"ax@d5s#@sfn$5`SF$$%x^(#e{]e";
//用上面的base隔开string然后组成一个数组,然后通过componentsJoinedByString,来连接成一个字符串
NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);
[base invert]; //非 字母加十进制
NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);
答应结果:
ax@d-s#@sfn$-`SF$$%x^(#e{]e
NSCharacterSet
实例应用:
一、过滤字符串开始位置和结束位置的空格
1 NSString *testString = @" my name is wang tianqiao ";
2
3 NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 NSLog(@"cString is %@",cString);
本来想写一个查找替换敏感词语的一个小方法,在网络上找了很久,确实现存方法有点乏力!还是自己动手吧!通过查看API,然后,知道对字符串的操作,可以使用两个类:NSCharacterSet和NSString来操作!
废话不多说了,贴代码:
1.去除首尾的空白符号
NSString *strMsg=@"我爱北京天安门";
id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSString *strResult = [strMsg stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
2.去掉首尾指定的字符集
NSString *strMsg=@"我爱北京天安门";
id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSString *strResult=[strMsg stringByTrimmingCharactersInSet:cs];
3.去除指定的字符集
NSString *strMsg=@"我爱北京天安门";
NSCharacterSet *cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSMutableString *theString=[NSMutableString stringWithString:strMsg];
NSString *strResult= [self clearnIllegitCharacters:theStringandCharacterSet:cs];
// 清除敏感词语,根据给定的字符串&字符集
- (NSString *)clearnIllegitCharacters:(NSMutableString *)originString andCharacterSet:(NSCharacterSet *)cs{
NSString *strResult=nil;
NSRange range2;
do {
range2=[originString rangeOfCharacterFromSet:cs options:NSLiteralSearch];
if (range2.location!=NSNotFound) {
// [originString deleteCharactersInRange:range2];
[originString replaceCharactersInRange:range2 withString:@"*"];
}
} while (range2.location!=NSNotFound);
strResult=[[NSString alloc] initWithString:originString];
return strResult;
}
NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLetterCharacterSet]; //字母
NSCharacterSet *decimalDigit = [NSCharacterSet decimalDigitCharacterSet]; //十进制数字
[base formUnionWithCharacterSet:decimalDigit]; //字母加十进制
NSString *string = @"ax@d5s#@sfn$5`SF$$%x^(#e{]e";
//用上面的base隔开string然后组成一个数组,然后通过componentsJoinedByString,来连接成一个字符串
NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);
[base invert]; //非 字母加十进制
NSLog(@"%@",[[string componentsSeparatedByCharactersInSet:base] componentsJoinedByString:@"-"]);
答应结果:
ax@d-s#@sfn$-`SF$$%x^(#e{]e
NSCharacterSet
实例应用:
一、过滤字符串开始位置和结束位置的空格
1 NSString *testString = @" my name is wang tianqiao ";
2
3 NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 NSLog(@"cString is %@",cString);
本来想写一个查找替换敏感词语的一个小方法,在网络上找了很久,确实现存方法有点乏力!还是自己动手吧!通过查看API,然后,知道对字符串的操作,可以使用两个类:NSCharacterSet和NSString来操作!
废话不多说了,贴代码:
1.去除首尾的空白符号
NSString *strMsg=@"我爱北京天安门";
id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSString *strResult = [strMsg stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
2.去掉首尾指定的字符集
NSString *strMsg=@"我爱北京天安门";
id cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSString *strResult=[strMsg stringByTrimmingCharactersInSet:cs];
3.去除指定的字符集
NSString *strMsg=@"我爱北京天安门";
NSCharacterSet *cs= [NSCharacterSet characterSetWithCharactersInString:@"天门"];
NSMutableString *theString=[NSMutableString stringWithString:strMsg];
NSString *strResult= [self clearnIllegitCharacters:theStringandCharacterSet:cs];
// 清除敏感词语,根据给定的字符串&字符集
- (NSString *)clearnIllegitCharacters:(NSMutableString *)originString andCharacterSet:(NSCharacterSet *)cs{
NSString *strResult=nil;
NSRange range2;
do {
range2=[originString rangeOfCharacterFromSet:cs options:NSLiteralSearch];
if (range2.location!=NSNotFound) {
// [originString deleteCharactersInRange:range2];
[originString replaceCharactersInRange:range2 withString:@"*"];
}
} while (range2.location!=NSNotFound);
strResult=[[NSString alloc] initWithString:originString];
return strResult;
}
相关文章推荐
- Android 上重启应
- 强连通分量——tarjan
- 什么是portlet?
- 算法:模拟算法
- HDU 1086 You can Solve a Geometry Problem too (判断线段相交)
- squid介绍及其简单配置
- Web学习笔记
- ppt写作的注意事项
- 并口编程 并口定义
- Ruby中 respond_to? 和 send 的用法 .
- PreferenceFragment详解
- ArcGIS教程:自定义地图范围(一)
- 自定义组合控件ViewGroup
- MongoDB 游标和索引
- Android Fragment使用详解及生命周期
- apache常用工作模式的区别
- 小编亲测杭州最火的海南鸡饭,最好吃的居然是……-搜狐吃喝!!!
- Redis快速入门
- Html与CSS快速入门02-HTML基础应用
- net.sf.json.JSONException: There is a cycle in the hierarchy!的解决办法