首页 > 代码库 > iOS过滤非法字符串
iOS过滤非法字符串
碰到在搜索框中过滤非法字符的问题,传统的用while循环来操作就显得太繁琐,ios 的 NSString 里有相关的方法可以解决此问题。如下:
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"~!@#$%^&*+?/="];
tempString = [[tempString componentsSeparatedByCharactersInSet: doNotWant]componentsJoinedByString: @""];
注意:不能用stringByTrimmingCharactersInSet这个方法过滤,它只能把字符串两端的非法字符过滤,但是不能把包含在字符串里的非法字符过滤掉。
当然,除了过滤操作还有判断字符串里是否有非法字符的操作,可以按如下办法进行:
NSCharacterSet *errorCharStr = [NSCharacterSet
characterSetWithCharactersInString:@"~!@#$%^&*+?/="];
NSRange range = (NSRange){65535,0};
range = [str rangeOfCharacterFromSet:errorCharStr];
if (range.length > 0) {
return YES;
}
如果range的length属性大于 0,则说明字符串里含有非法字符。
iOS过滤非法字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。