提供一个算法给你! /// <summary>
/// 在关键字库中去匹配关键字
/// </summary>
/// <param name="serchedString">要匹配的字符串 例:"是中国睦邻人地<关键字>地中"</param>
/// <returns></returns>
public static String findTheKeyWord(String serchedString)
{
String serch = "";
ArrayList list = GetKeyWords();
int n = getTheMaxStringLenght();
string[,] key = new string[5, 2];
int m = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 0; j < serchedString.Length; j++)
{
if (j + i < serchedString.Length)
{
String str = serchedString.Substring(j, i);
for (int k = 0; k < list.Count; k++)
{
if (str.Equals(list[k].ToString()))
{
if (m < 5)
{
serch = "<a href='http://www.taocaibao.com'>" + str + "</a>";
key[m, 0] = str;
key[m, 1] = serch;
m++;
}
}
}
}
}
}
for (int q = 0; q < key.Length / key.Rank; q++)
{
if (!String.IsNullOrEmpty(key[q, 0]))
serchedString = serchedString.Replace(key[q, 0], key[q, 1]);
}
return serchedString;
} /// <summary>
/// 获取关键字库中关键字最大的长度
/// </summary>
public static int getTheMaxStringLenght()
{
ArrayList list = GetKeyWords();
int p = 0;
if (list.Count != 0)
{
String str = list[0].ToString();
for (int i = 0; i < list.Count - 1; i++)
{
if (list[i].ToString().Length < list[i + 1].ToString().Length)
{
p = list[i + 1].ToString().Length;
}
}
}
return p;
}
/// 在关键字库中去匹配关键字
/// </summary>
/// <param name="serchedString">要匹配的字符串 例:"是中国睦邻人地<关键字>地中"</param>
/// <returns></returns>
public static String findTheKeyWord(String serchedString)
{
String serch = "";
ArrayList list = GetKeyWords();
int n = getTheMaxStringLenght();
string[,] key = new string[5, 2];
int m = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 0; j < serchedString.Length; j++)
{
if (j + i < serchedString.Length)
{
String str = serchedString.Substring(j, i);
for (int k = 0; k < list.Count; k++)
{
if (str.Equals(list[k].ToString()))
{
if (m < 5)
{
serch = "<a href='http://www.taocaibao.com'>" + str + "</a>";
key[m, 0] = str;
key[m, 1] = serch;
m++;
}
}
}
}
}
}
for (int q = 0; q < key.Length / key.Rank; q++)
{
if (!String.IsNullOrEmpty(key[q, 0]))
serchedString = serchedString.Replace(key[q, 0], key[q, 1]);
}
return serchedString;
} /// <summary>
/// 获取关键字库中关键字最大的长度
/// </summary>
public static int getTheMaxStringLenght()
{
ArrayList list = GetKeyWords();
int p = 0;
if (list.Count != 0)
{
String str = list[0].ToString();
for (int i = 0; i < list.Count - 1; i++)
{
if (list[i].ToString().Length < list[i + 1].ToString().Length)
{
p = list[i + 1].ToString().Length;
}
}
}
return p;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货