我使用以下查询来检查NSArray
中的字符串是否包含某个字词。
我正在努力将其分解以仅显示具有rangeOfString
字的字符串。
正如您所看到的,如果NSArray
包含单词,它会显示所有结果。如何进一步单击它以仅显示包含"BOLDME"
的特定字符串?
// change this line only for the concatenation
NSString * resultConditions = [legislationArray componentsJoinedByString:@"\n"];
NSString *word = @"BOLDME";
//if string contains
if ([resultConditions rangeOfString:word].location != NSNotFound) {
cell.dynamicTextView.text = resultConditions;
}
答案 0 :(得分:2)
这不仅可以直接访问包含您正在搜索的文本的数组中的每个实例,而且它的性能也会比问题中的代码好得多。
for (NSString *testWord in legislationArray) {
if ([testWord rangeOfString:@"BOLDME"].location != NSNotFound) {
// testWord contains "BOLDME"
cell.dynamicTextView.text =
[cell.dynamicTextView.text stringByAppendingString:testWord];
}
}
如上所述,这会将找到的字符串附加到文本视图中已有的任何文本中。可能您只想在文本视图中使用一个单词。如果是这种情况,那么一旦找到第一个,就应break;
。
答案 1 :(得分:1)
您可以遍历NSArray并检查每个字符串是否包含特定单词:
for(NSString *value in array) {
if([value rangeOfString:word] != NSNotFound) {
/* we have found that string*/
}
}