仅在Nsarray中包含时显示字符串

时间:2014-05-03 19:26:02

标签: ios nsarray

我使用以下查询来检查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;

        }

2 个答案:

答案 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*/ 
     }
}