0
我使用以下代碼在數組中搜索在UISearchBar中鍵入的短語,然後添加該短語所在的索引的內容找到將顯示在表視圖中的數組。搜索並找到一個短語並獲取它之前和之後的兩個單詞
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)enteredSearchText{
if ([enteredSearchText length] == 0) {
[wholeTextOfDoaasLive removeAllObjects]; //wholeTextOfDoaasLive is an NSMutableArray
}
else{
[wholeTextOfDoaasLive removeAllObjects];
for (NSString * string in AllWholeText) {//AllWholeText is an NSMutableArray
NSRange r = [string rangeOfString:enteredSearchText options:NSCaseInsensitiveSearch];
if (r.location != NSNotFound){
[wholeTextOfDoaasLive addObject:string];
}
}
}
[_searchResultsTable reloadData];
}
然而,AllWholeText陣列的各項指標中含有大量的文字,我不希望添加整個對象(即搜索到的這句話被發現)爲wholeTextOfDoaasLive陣列。相反,我只想在它的前後添加一個找到的短語加兩個單詞到我的wholeTextOfDoaasLive數組中。我怎樣才能做到這一點?
我不認爲這是一個簡單的問題。更簡單的解決方案是顯示:「... upTo10CharBefore_SearchedText_upTo10CharAfter ...」,而不是「upToToWordsBefore_SearchedText_upTo10WordsAfter」。其中一個複雜的部分是,如果'enteredSearchText'是「我」,並且你有像「Hi There」這樣的句子(它結合了更多的單詞等) – Larme