private void btnConvertTest_Click(object sender, EventArgs e) { if (SelectedParsePattern == null) { MessageBox.Show("请点击右上角按钮选择匹配规则"); return; } IWordCodeGenerater factory = null; if (string.IsNullOrEmpty(txbFilePath.Text)) { factory = new WordPinyinGenerater(); } else { factory = new SelfDefiningCodeGenerater(); UserCodingHelper.FilePath = txbFilePath.Text; } SelectedParsePattern.Factory = factory; rtbTo.Clear(); string[] fromList = rtbFrom.Text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string str in fromList) { string s = str.Trim(); var wl = new WordLibrary { Word = s }; string result = SelectedParsePattern.BuildWLString(wl); rtbTo.AppendText(result + "\r\n"); } }
public ParsePattern() { Sort = new List <int> { 1, 2, 3 }; sample = new WordLibrary(); sample.Count = 1234; sample.Word = "深蓝词库转换"; sample.PinYin = new[] { "shen", "lan", "ci", "ku", "zhuan", "huan" }; Factory = new WordPinyinGenerater(); }
public WordLibraryList Import(string path) { IWordCodeGenerater pinyinFactory = new WordPinyinGenerater(); IList <string> words = Parse(path); var wll = new WordLibraryList(); foreach (string word in words) { var wl = new WordLibrary(); if (IsChinese(word)) //是中文就要进行注音 { var list = pinyinFactory.GetCodeOfString(word); wl.PinYin = ToArray(list); } else { wl.IsEnglish = true; } wl.Word = word; wl.Count = DefaultRank; wll.Add(wl); } return(wll); }