private static Tuple <String, String> NormalizeCompanyName(string word) { if (!String.IsNullOrEmpty(word)) { var fullname = word; var shortname = ""; var StdIdx = word.IndexOf("“"); var EndIdx = word.IndexOf("”"); if (StdIdx != -1 && EndIdx != -1) { shortname = word.Substring(StdIdx + 1, EndIdx - StdIdx - 1); } var trailingwords = new string[] { "(以下简称", "(下称", "(简称", "(以下简称", "(下称", "(简称" }; //暂时不做括号的正规化 foreach (var trailin in trailingwords) { if (fullname.Contains(trailin)) { fullname = Utility.GetStringBefore(fullname, trailin); } } if (fullname.Contains("股东")) { fullname = Utility.GetStringAfter(fullname, "股东"); } if (!String.IsNullOrEmpty(BussinessLogic.GetCompanyNameByShortName(fullname).secFullName)) { fullname = BussinessLogic.GetCompanyNameByShortName(fullname).secFullName; } foreach (var companyname in companynamelist) { if (companyname.secFullName == fullname) { if (shortname == "") { shortname = companyname.secShortName; break; } } if (companyname.secShortName == fullname) { fullname = companyname.secFullName; shortname = companyname.secShortName; break; } } if (shortname == "") { shortname = BussinessLogic.GetCompanyNameByFullName(fullname).secShortName; } return(Tuple.Create(fullname, shortname)); } return(Tuple.Create("", "")); }