IOS 开发之 -- 过滤掉字符串里面所有的非法字符 字典和json之间的互转
2017-04-21 09:54
459 查看
比如一个字符串:
很多时候,数据之间的传输,我们仅仅只想保留下字符串里面的数字和字母,其他的飞数字字母的符号都得过滤掉,过滤的方法有两种:
方法一:
替代发
使用stringByReplacingOccurrencesOfString这个方法将字符串里的非法字符逐个替代
具体代码如下:
如果还有其他的字符就一次写入代码,进行过滤,比较繁琐,得写很多无用的代码,效率也不高!
方法二:
先将字符串按非法字符串集进行裁断,最后再拼接起来,代码看起来很直观,直接了断
具体代码如下:
在doNotWant这个字符集里想写几个就写几个,很方便,一个方法就搞定了,这样的话,字符串直接的传输,就很方便了!
分享一个公用方法:字典转json字符串,并直接过滤掉里面的非法字符
当然方法有很多种,如果大家有什么好的方法,还希望大家不吝指教!
json转化为字典:具体代码如下:
这个方法,我们在和后台调接口的时候,用的最多,这里只做记录用!
NSString * hmutStr = @"(010)*(123)E6(234)**150-1111-^^-1234#"
很多时候,数据之间的传输,我们仅仅只想保留下字符串里面的数字和字母,其他的飞数字字母的符号都得过滤掉,过滤的方法有两种:
方法一:
替代发
使用stringByReplacingOccurrencesOfString这个方法将字符串里的非法字符逐个替代
具体代码如下:
hmutStr = [tempString stringByReplacingOccurrencesOfString:@" " withString:@""]; hmutStr = [tempString stringByReplacingOccurrencesOfString:@"#" withString:@""]; hmutStr = [tempString stringByReplacingOccurrencesOfString:@"*" withString:@""]; hmutStr = [tempString stringByReplacingOccurrencesOfString:@"+" withString:@""]; hmutStr = [tempString stringByReplacingOccurrencesOfString:@"-" withString:@""];
如果还有其他的字符就一次写入代码,进行过滤,比较繁琐,得写很多无用的代码,效率也不高!
方法二:
先将字符串按非法字符串集进行裁断,最后再拼接起来,代码看起来很直观,直接了断
具体代码如下:
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"[]{}(#%-*+=_)\\|~(<>$%^&*)_+ "]; NSString * hmutStr = [[mutStr componentsSeparatedByCharactersInSet: doNotWant]componentsJoinedByString: @""]; NSLog(@"humStr is %@",hmutStr); return hmutStr;
在doNotWant这个字符集里想写几个就写几个,很方便,一个方法就搞定了,这样的话,字符串直接的传输,就很方便了!
分享一个公用方法:字典转json字符串,并直接过滤掉里面的非法字符
#pragma mark 字典转json
- (NSString*)dictionaryToJson:(NSDictionary *)dic
{
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonString;
if (!jsonData) {
NSLog(@"%@",error);
}else{
jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
}
NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
// NSRange range = {0,jsonString.length};
NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"[]{}(#%-*+=_)\\|~(<>$%^&*)_+ "]; NSString * hmutStr = [[mutStr componentsSeparatedByCharactersInSet: doNotWant]componentsJoinedByString: @""]; NSLog(@"humStr is %@",hmutStr); return hmutStr;
}
当然方法有很多种,如果大家有什么好的方法,还希望大家不吝指教!
json转化为字典:具体代码如下:
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString == nil) { return nil; } NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError *err; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err]; if(err) { NSLog(@"json解析失败:%@",err); return nil; } return dic; }
这个方法,我们在和后台调接口的时候,用的最多,这里只做记录用!
相关文章推荐
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
- iOS开发之字典(NSDictionary)和JSON字符串(NSString)之间互转
- 【iOS开发】字典(NSDictionary)和JSON字符串(NSString)之间互转
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
- iOS:字符串过滤掉非法字符
- ios软件开发 json格式字符串转字典,字典转json格式字符串
- iOS:字符串过滤掉非法字符
- iOS 过滤json字符串中的特殊字符
- iOS:字符串过滤掉非法字符
- 字符串过滤掉所有最邻近的“<”和“>”之间的字符
- IOS 开发中判断字符串是否为空字符的方法
- IOS 把格式化的JSON字符串转换成字典
- Objective-C ,ios,iphone开发基础:如何判断一个字符是不是中文字符。计算一段字符串的长度。
- IOS开发判断在字符串中是否包含相应的字符
- iOS应用开发18——对象和字典之间的转换
- IOS 开发中判断字符串是否为空字符的方法
- 通过安全字符串过滤非法字符
- IOS 开发中判断字符串是否为空字符的方法
- 手把手地写了一个函数,计算出两个字符串日期之间的所有字符串型日期 集合