得到最匹配的网页摘要

Highlighter.dll里面提供了一个函数GetBestFragments,居然不好用,没查到是什么原因。索性自己写一个,参数分别是:1 source,字符串,网页内容;2keyArr,字符串数组,关键字数组。

    protected string GetBestFragments(string source, string[] keyArr) 
    

        
string result;
        
int startMin,startMax,offset;
        startMin
=source.IndexOf(keyArr[0]);
        startMax
=startMin;
        
for(int i=1;(i<keyArr.Length)&&(keyArr[i].Trim()!="");i++)
        
{
            offset
=source.IndexOf(keyArr[i]);
            startMin
=(startMin<=offset?startMin:offset);
            startMax
=(startMax>=offset?startMax:offset);
        }


        startMin 
= startMin - 20;
        startMin 
= (startMin < 0 ? 0 : startMin);
        
if ((startMin + 251> startMax)
        
{
            
if ((startMin + 251> source.Length)
                result 
= source.Substring(startMin);
            
else result = source.Substring(startMin, 251);

        }

        
else
        
{
            result 
= source.Substring(startMin, 121);
            
if ((startMax + 20> source.Length)
                result 
+= "" + source.Substring(startMax - 121);
            
else result += "" + source.Substring((startMax - 121), 141);
        }

        
return result;


    }
posted @ 2007-08-02 11:04  Jadepark  阅读(383)  评论(0编辑  收藏  举报