将QQ拼音词库导入到搜狗拼音中
我以前用的是搜狗拼音,但是有一次我的词库数据莫名其妙的丢失后,而且发现搜狗拼音的词库不能导出为纯文本,所以我就放弃搜狗使用QQ拼音了。昨天看到搜狗拼音推出了云输入法,真是让我眼前一亮,真是很有创意的一个输入法,就因为搜狗推出了该输入法,因为他们的创意,所以我决定回到搜狗拼音。
要回归搜狗拼音输入法,那么词库问题是一个很严重的问题,默认情况下,QQ拼音输入法的词库是没办法导入到搜狗拼音输入法中的,直接将QQ拼音输入法词库导出,再在搜狗拼音输入法中导入时提示如下:
所以我不得不写一个小程序,将QQ拼音的词库格式转换一下,然后再进行导入。
分析了一下QQ拼音词库的格式和搜狗拼音词库格式,区别在于:
QQ拼音词库中提供了词频数,而搜狗词库没有。
QQ拼音的拼音前面是没有单引号的,但是搜狗词库必须要有。
所以只需要写一小段代码,实现上面的转换即可。具体代码如下:StreamReader sr = new StreamReader(this.textBox1.Text, Encoding.Default);
string newPath = Path.GetDirectoryName(textBox1.Text) + "\\Sougou PY.txt";
StreamWriter sw = new StreamWriter(newPath, false, Encoding.Default);
while (sr.Peek() > 0)
{
string str = sr.ReadLine();
var py = str.Split(' ');
if (py.Count() > 2)
{
string newPy = "'" + py[0] + " " + py[1];
sw.WriteLine(newPy);
//richTextBox1.AppendText(newPy + "\r\n");
}
}
sr.Close();
sw.Close();
MessageBox.Show("OK");
StreamWriter sw = new StreamWriter(newPath, false, Encoding.Default);
while (sr.Peek() > 0)
{
string str = sr.ReadLine();
var py = str.Split(' ');
if (py.Count() > 2)
{
string newPy = "'" + py[0] + " " + py[1];
sw.WriteLine(newPy);
//richTextBox1.AppendText(newPy + "\r\n");
}
}
sr.Close();
sw.Close();
MessageBox.Show("OK");
这样就可以将词库转换出来,保存为Sougou PY.txt文件即可。
接下来在搜狗输入法中就可以导入本地文本词库了,导入后的效果如下:
附上代码和程序,方便大家遇到相同的情况时使用(可执行文件在bin/Debug目录下,需要.net Framework 2.0的支持,运行不了请安装.net):/Files/studyzy/QQPY2SGPY1.1.zip
【本文章出自博客园深蓝居,转载请注明作者出处,如果您觉得博主的文章对您有很大帮助,欢迎支付宝(studyzy@163.com)对博主进行打赏。】