Objective-C中的发誓过滤器:iPhone App需要

时间:2010-09-13 16:33:16

标签: iphone objective-c

需要过滤我们发誓输入iPhone应用程序并插入我们数据库的单词。在传递到我们的数据库之前,我想抓住这个。

目前,我正在使用:     stringByReplacingOccurrencesOfString:@“swear”withString:@“” 但列出20多个需要过滤的单词似乎效率低下。什么是解决这个问题的最佳方法?

这是我的完整代码

NSUserDefaults *p = [NSUserDefaults standardUserDefaults];
NSString* string1 = [[p valueForKey:@"user"]          stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string2 = [[p valueForKey:@"pass"] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* string3 = [[[[[[[[[[[[[[tvA.text stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByReplacingOccurrencesOfString:@"&" withString:@"and"] stringByReplacingOccurrencesOfString:@"ç" withString:@"c"] stringByReplacingOccurrencesOfString:@"+" withString:@"plus"] stringByReplacingOccurrencesOfString:@"swear" withString:@""] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString* urlString = [NSString stringWithFormat:@"http://domain.com/qa.php?user=%@&pass=%@&id=%@&body=%@",string1,string2,[p valueForKey:@"a"],string3];
id val1 = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];

1 个答案:

答案 0 :(得分:0)

要按照您的方式进行操作,保留已过滤字符串及其替换项列表会更加明智 - 您甚至可以使用外部plist文件。然后你可以遍历列表,随意替换,或者如果你正在寻找更复杂的过滤,你可以创建一个NSRegularExpression。