/// <summary> /// 将分析后的 词输出,并在输出前用自定义的转码器转码 /// </summary> /// <param name="simplifiedAnalysedWordStruct"></param> /// <param name="filter"></param> /// <returns></returns> public static IList <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified> SimplifiedWordStructProcessBeforeReturn(this IList <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified> simplifiedAnalysedWordStruct, Func <string, string> filter = null) { var retSimplifiedAnalysedWordStruct = new List <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified>(); if (simplifiedAnalysedWordStruct != null && simplifiedAnalysedWordStruct.Any()) { if (filter != null) { foreach (var simplifiedWord in simplifiedAnalysedWordStruct) { var curSimplifiedWord = new Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified(); curSimplifiedWord.Word = filter(simplifiedWord.Word); curSimplifiedWord.Synonyms = simplifiedWord.Synonyms.Select(x => filter(x)).ToList(); retSimplifiedAnalysedWordStruct.Add(curSimplifiedWord); } } else { retSimplifiedAnalysedWordStruct.AddRange(simplifiedAnalysedWordStruct); } } return(retSimplifiedAnalysedWordStruct); }
/// <summary> /// 将结果集简化 /// </summary> /// <param name="analysedWordStruct"></param> /// <returns></returns> public static IList <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified> SimplifyAnalysedWordStruct(this IList <Wl.WordsAnalyzer.Models.AnalysedWordStruct> analysedWordStruct) { var retAnalysedWordStructSimplified = new List <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified>(); if (analysedWordStruct != null && analysedWordStruct.Any()) { foreach (var analysedWordSet in analysedWordStruct) { var curAnalysedWordStructSimplified = new Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified(); if (analysedWordSet.SynonymsOfSingularizedWord.Count() > analysedWordSet.SynonymsOfOriginalWord.Count()) { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfSingularizedWord; curAnalysedWordStructSimplified.Word = analysedWordSet.SingularizedWord; } else { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfOriginalWord; curAnalysedWordStructSimplified.Word = analysedWordSet.OriginalWord; } retAnalysedWordStructSimplified.Add(curAnalysedWordStructSimplified); } } return(retAnalysedWordStructSimplified); }
/// <summary> /// 将结果集简化 并 在输出前 用定义的转码器 转码 /// </summary> /// <param name="analysedWordStruct"></param> /// <param name="filter"></param> /// <returns></returns> public static IList <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified> SimplifyAnalysedWordStructProcessBeforeReturn(this IList <Wl.WordsAnalyzer.Models.AnalysedWordStruct> analysedWordStruct, Func <string, string> filter = null) { var retAnalysedWordStructSimplified = new List <Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified>(); if (analysedWordStruct != null && analysedWordStruct.Any()) { foreach (var analysedWordSet in analysedWordStruct) { var curAnalysedWordStructSimplified = new Wl.WordsAnalyzer.Models.AnalysedWordStructSimplified(); if (analysedWordSet.SynonymsOfSingularizedWord.Count() > analysedWordSet.SynonymsOfOriginalWord.Count()) { if (filter != null) { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfSingularizedWord.Select(x => filter(x)).ToList(); curAnalysedWordStructSimplified.Word = filter(analysedWordSet.SingularizedWord); } else { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfSingularizedWord; curAnalysedWordStructSimplified.Word = analysedWordSet.SingularizedWord; } } else { if (filter != null) { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfOriginalWord.Select(x => filter(x)).ToList(); curAnalysedWordStructSimplified.Word = filter(analysedWordSet.OriginalWord); } else { curAnalysedWordStructSimplified.Synonyms = analysedWordSet.SynonymsOfOriginalWord; curAnalysedWordStructSimplified.Word = analysedWordSet.OriginalWord; } } retAnalysedWordStructSimplified.Add(curAnalysedWordStructSimplified); } } return(retAnalysedWordStructSimplified); }