一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.NET 臟字過濾算法

原文見http://www.jb51.NET/article/20575.htm
但在我這里測試的時候,RegEx要快一倍左右。但是還是不太滿意,因為我們網站上臟字過濾用的相當多,對效率已經有了一些影響,經過一番思考后,自己做了一個算法。在自己的機器上測試了一下,使用原文中的臟字庫,0x19c的字符串長度,1000次循環,文本查找耗時1933.47ms,RegEx用了1216.719ms,而我的算法只用了244.125ms.
更新:新增一個BitArray,用于判斷某char是否在所有臟字中出現過。總時間由244ms降到了34ms.
主要算法如代碼所示
復制代碼 代碼如下:
private static Dictionary dic = new Dictionary();
private static BitArray fastcheck = new BitArray(char.MaxValue);
static void Prepare()
{
string[] badwords = // read from file
foreach (string word in badwords)
{
if (!dic.ContainsKey(word))
{
dic.Add(word, null);
maxlength = Math.Max(maxlength, word.Length);
fastcheck[word[0]] = true;
}
}
}

使用的時候
復制代碼 代碼如下:
int index = 0;
while (index < target.Length)
{
if (!fastcheck[target[index]])
{
while (index < target.Length - 1 && !fastcheck[target[++index]]) ;
}
for (int j = 0; j < Math.Min(maxlength, target.Length - index); j++)
{
string sub = target.Substring(index, j);
if (dic.ContainsKey(sub))
{
sb.Replace(sub, "***", index, j);
index += j;
break;
}
}
index++;
}

AspNet技術asp.NET 臟字過濾算法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲欧洲国产精品你懂的 | 成人资源在线 | 成年美女黄网站色大片免费软件看 | 天堂资源在线官网资源 | 狠狠色伊人亚洲综合第8页 狠狠色伊人亚洲综合网站l | 国产黄色91 | 欧美在线视频在线观看 | 成人综合色站 | 国产成人福利在线 | 一级做a爰性色毛片免费 | 真正国产乱子伦高清对白 | 久久久久久亚洲精品 | 国产一区二区不卡免费观在线 | 日韩久久一区二区三区 | 一本色道久久88 | 婷婷爱五月 | 桃花视频在线观看高清版mv | 成年网站未满十八禁毛片免费 | 91福利国产在线在线播放 | 午夜福利毛片 | 一本久道久久综合狠狠爱 | 国产乱码精品一区二区三区中 | 国产美女一级片 | 亚洲视频黄色 | 天天做天天添天天谢 | 精品久久久一二三区 | 亚洲一区二区三区四 | 国产成人www | 国产精品视频国产永久视频 | 久久精品亚洲一级毛片 | 亚洲第一视频网站 | 国产的鲁啊鲁 | 亚洲欧美另类国产综合 | 国产成人激烈叫床声视频对白 | 成人精品人成网站 | 美女免费黄网站 | 丁香婷婷综合五月六月 | 国产91中文剧情在线观看 | 怡红院亚洲 | 国产精品第一页第一页 | 99国产精品国产精品 |