如何在NSRange之前和之后提取文本

时间:2016-01-19 11:26:38

标签: ios objective-c search nsrange

我在大型内容中应用搜索。使用NSRange实现此目的。

range = [textToSearch rangeOfString:searchText options:NSCaseInsensitiveSearch];

然后我正在检查String的存在,如下所示:

if(range.location != NSNotFound){
   //String found
 }

现在我只有指定字符串的范围。我想将搜索结果显示为:

假设我的内容是这样的:

  

我是一名电影狂热分子。当朋友们想知道1980年获得奥斯卡奖的那张照片或者在大白鲨中扮演警察局长时,他们会问我。不过,我的朋友们已经不再问我是不是想去看电影了。

现在我搜索了“已停止”

现在我想将搜索显示为:

结果:

我的朋友们已经停止了问我是否愿意

在搜索结果之前和之后我想要一些单词。我不知道如何实现这个目标。

1 个答案:

答案 0 :(得分:0)

你可以使用正则表达式,例如:(\w+[\s,]+){0,4}stopped([\s,]+\w+){0,6},大致翻译为匹配停止之前的4个单词和之后的6个单词。