這個搜索是一個後續問題this one ..的iOS:如何從搜索字符串刪除無效字符,同時允許多個單詞
感謝尼克·洛克伍德,我可以用這個代碼過濾不良字符:
NSString *safeSearchString = [[searchString componentsSeparatedByCharactersInSet:[[NSCharacterSet alphanumericCharacterSet] invertedSet]] componentsJoinedByString:@""];
但是,我有像「我,你」或「這不是一個」的字符串。
我希望能夠搜索「你」或「那個」。
上面的代碼似乎限制了我太多,我只能搜索詞到特殊字符..
我可以有更多的幫助嗎?
UPDATE:
我已經使用這個代碼的嘗試:
NSString *badChars = @"\\\'";
NSCharacterSet *badCharSet = [NSCharacterSet characterSetWithCharactersInString: badChars];
NSString *safeSearchString = [sbar.text stringByTrimmingCharactersInSet:badCharSet];
,但沒有喜悅。請原諒所有的新手問題...
第二次更新:
我也試過這個代碼。這是一個委託方法:
- (BOOL)searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ((text == @"\\") || (text == @"\'")) {
return NO;
} else {
return YES;
}
}
它幾乎工作,但是沒有生存謂詞檢查:「無法解析格式字符串」主要包含[CD]‘不是’或解釋包含[CD]「ISN 't'OR摘要包含[cd]'不是'OR數據包含[cd]'不是'''...
你打算如何使用safeSearchString?查詢sqlite數據庫? – 2012-02-12 22:30:00
'stringByTrimmingCharactersInSet:'只會從字符串的末尾移除不需要的字符,如果它們存在於中間則不會移除字符。 – jonkroll 2012-02-12 22:50:09
我已經發布了一些使用這種方法的代碼,但我必須弄錯它,它仍然崩潰...... JonKroll說。請任何其他想法? – 2012-02-12 23:02:41