Esempio n. 1
0
    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("", ""));
    }