本文主要是介绍.NET2.0泛型就是爽!写了一个分词算法,抖一抖代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
winform中拖一个按钮,两个RichTextusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace cutWord
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
List <KeyValuePair <string, int> > L = cutWord(this.richTextBox1.Text);
this.richTextBox2.Text = " ";
int count = 0;
for (int i = L.Count-1; i > 0; i--)
{
if (count > 15)
{
break;
}
count++;
this.richTextBox2.Text += L[i].Key + "[ " + L[i].Value + "]/n ";
}
}
private List <KeyValuePair <string, int> > cutWord(string article)
{
Dictionary <string, int> D = new Dictionary <string, int> ();
//if len(escape(x)) /len(x)=6 then isGB=true else isGB=false
//HttpUtility..::
System.Text.RegularExpressions.Regex Re = new System.Text.RegularExpressions.Regex(@ "[^/u4e00-/u9fa5]+ ");
for (int l = 2; l <= 4; l++)
{
for (int i = 0; i < article.Length-l; i++)
{
string theWord = article.Substring(i, l);
if (Re.Replace(theWord, " ") == theWord)
{
if (D.ContainsKey(theWord))
{
D[theWord]++;
}
else
{
D.Add(theWord,1);
}
}
}
}
List <KeyValuePair <string, int> > L = new List <KeyValuePair <string, int> > ();
foreach (KeyValuePair <string, int> K in D)
{
if (K.Value > 1)
{
L.Add(K);
}
}
L.Sort(
delegate(KeyValuePair <String, int> a, KeyValuePair <String, int> b)
{
if (a.Value == b.Value)
{
if (a.Key.Length == b.Key.Length)
{
return 0;
}
else
{
if (a.Key.Length > b.Key.Length)
{
return 1;
}
else
{
return -1;
}
}
}
if (a.Value > b.Value)
{
return 1;
}
else
{
return -1;
}
}
);
return (L);
}
}
}
测试Sohu首页关键字和频率:
女人[20]
搜狐[16]
手机[13]
游戏[13]
博客[13]
明星[11]
留学[10]
美女[9]
大学[9]
上海[9]
中国[9]
北京[9]
奥运[9]
曝光[9]
开盘[9]
视频[8]
晕!女人排第一
新浪:
中国[22]
视频[20]
手机[14]
上海[13]
新浪[13]
北京[12]
北大[12]
国际[12]
投资[11]
清华[11]
博客[11]
直播[11]
大学[10]
留学[10]
项目[9]
赚钱[9]
再看CSDN首页:
软件[16]
程序[13]
程序员[11]
序员[11]
开发[11]
大会[7]
微软[7]
我的[7]
专区[6]
技术[6]
中国[5]
使用[5]
我们[5]
模式[5]
系统[5]
人才[5]
这篇关于.NET2.0泛型就是爽!写了一个分词算法,抖一抖代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!