2011-12-03 2 views
5

내 검색 쿼리를 기반으로 간단한 응용 프로그램을 구현하고 싶습니다. 두 단락이나 기사가 포함 된 배열이 있는데이 기사에서 관련 주제 또는 관련 키워드를 검색하려고합니다.간단한 문자열 검색을 구현하는 방법

//this is my search query 
string mySearchQuery = "how to play with matches"; 

//these are my articles 
string[] myarticles = new string[] {"article 1: this article will teach newbies how to start fire by playing with the awesome matches..", "article 2: this article doesn't contain anything"}; 

어떻게 내가 위에 제공된 검색 쿼리를 기반으로 첫 번째 기사를 얻을 수 있습니다 : 예를 들어

? 어떤 생각?

답변

6

mysearchquery에있는 모든 단어를 포함하는 myarticles에 임의의 문자열을 반환 :이 기술은 (즉, 이렇게 사용하는 경우

var tokens = mySearchQuery.Split(' '); 
var matches = myarticles.Where(m => tokens.All(t => m.Contains(t))); 

foreach(var match in matches) 
{ 
    // do whatever you wish with them here 
} 
+0

당신은 아마 대소 문자를 구분 비교를 수행 할 것 일치하는 항목과 일치하는 항목). ;) –

+0

당신은 그것이 속도면에서 정규 표현식의 사용과 어떻게 비교되는지 알고 있습니까 ?? – GameAlchemist

+0

string.ToLower()를 사용하여이 기능을 향상시킬 수 있습니다. 그렇다면 대문자 사용에 대해 걱정할 필요가 없습니다. –

1

문자열 검색을위한 훌륭한 프레임 워크를 세분화 할 수 있으며 다양한 검색 규칙을 사용할 수 있습니다.

그러나이 간단한 샘플의 경우 각 단어에 대해 간단한 단어 검색을 사용하여 검색어를 ""로 나누어보십시오. 찾으면 단락 찾기 일치에 1 점을 추가하고 마지막에 단락을 대부분의 포인트는 ...

관련 문제