public WordLibrary BuildWordLibrary(string line)
{
var wl = new WordLibrary();
wl.CodeType = UserDefiningPattern.CodeType;
string[] strlist = line.Split(new[] {UserDefiningPattern.SplitString}, StringSplitOptions.RemoveEmptyEntries);
var newSort = new List<int>(UserDefiningPattern.Sort);
newSort.Sort();
string code = "", word = "";
int rank = 0;
int index1 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[0]); //最小的一个
if (index1 == 0 && UserDefiningPattern.ContainCode) //第一个是编码
{
code = strlist[0];
}
if (index1 == 1) //第一个是汉字
{
word = strlist[0];
}
if (index1 == 2 && UserDefiningPattern.ContainRank) //第一个是词频
{
rank = Convert.ToInt32(strlist[0]);
}
if (strlist.Length > 1)
{
int index2 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[1]); //中间的一个
if (index2 == 0 && UserDefiningPattern.ContainCode) //一个是Code
{
code = strlist[1];
}
if (index2 == 1)
{
word = strlist[1];
}
if (index2 == 2 && UserDefiningPattern.ContainRank)
{
rank = Convert.ToInt32(strlist[1]);
}
}
if (strlist.Length > 2)
{
int index2 = UserDefiningPattern.Sort.FindIndex(i => i == newSort[2]); //最大的一个
if (index2 == 0 && UserDefiningPattern.ContainCode) //第一个是拼音
{
code = strlist[2];
}
if (index2 == 1)
{
word = strlist[2];
}
if (index2 == 2 && UserDefiningPattern.ContainRank)
{
rank = Convert.ToInt32(strlist[2]);
}
}
wl.Word = word;
wl.Rank = rank;
if (code != "")
{
if (UserDefiningPattern.IsPinyinFormat)
{
string[] codes = code.Split(new[] {UserDefiningPattern.CodeSplitString},
StringSplitOptions.RemoveEmptyEntries);
wl.SetCode(UserDefiningPattern.CodeType, new List<string>(codes),UserDefiningPattern.IsPinyinFormat);
}
else
{
wl.SetCode(UserDefiningPattern.CodeType, code);
}
}
return wl;
}