Ejemplo n.º 1
0
    /// <summary>
    /// 公司名称的获得
    /// </summary>
    /// <param name="FullName"></param>
    /// <param name="ShortName"></param>
    /// <returns></returns>
    public static (String FullName, String ShortName) NormalizeCompanyName(AnnouceDocument doc, string word)
    {
        if (String.IsNullOrEmpty(word))
        {
            return(String.Empty, String.Empty);
        }
        var fullname  = word.Replace(" ", String.Empty);
        var shortname = String.Empty;

        foreach (var companyname in doc.companynamelist)
        {
            if (companyname.secFullName == fullname)
            {
                //注意:这里可能出现两个具有相同FullName,但是某个没有ShortName的可能性!
                if (shortname == String.Empty && !String.IsNullOrEmpty(companyname.secShortName))
                {
                    shortname = companyname.secShortName;
                    break;
                }
            }
            if (companyname.secShortName == fullname)
            {
                fullname  = companyname.secFullName;
                shortname = companyname.secShortName;
                break;
            }
            //如果进来的是简称,而提取的公司信息里面,只有全称,这里简单推断一下
            //简称和全称的关系
            if (companyname.secFullName.Contains(fullname) &&
                companyname.secFullName.Length > fullname.Length)
            {
                fullname  = companyname.secFullName;
                shortname = word;
            }
        }

        if (string.IsNullOrEmpty(shortname))
        {
            //字典
            shortname = CompanyNameLogic.GetCompanyNameByFullName(fullname).secShortName;
        }

        if (string.IsNullOrEmpty(shortname))
        {
            //在原文中寻找该字符名称,然后看一下,其后是否有【简称】字样,
            //简称后是否有引号字样“XXXX”有的话,差不多就是了
            shortname = GetShortNameByFullName(fullname, doc);
            if (!string.IsNullOrEmpty(shortname))
            {
                Console.WriteLine(fullname + ":" + shortname);
            }
        }

        return(fullname, shortname);
    }
Ejemplo n.º 2
0
    public static (String FullName, String ShortName) NormalizeCompanyName(AnnouceDocument doc, string word)
    {
        if (String.IsNullOrEmpty(word))
        {
            return(String.Empty, String.Empty);
        }
        var fullname  = word.Replace(" ", String.Empty);
        var shortname = String.Empty;

        foreach (var companyname in doc.companynamelist)
        {
            if (companyname.secFullName == fullname)
            {
                //注意:这里可能出现两个具有相同FullName,但是某个没有ShortName的可能性!
                if (shortname == String.Empty && !String.IsNullOrEmpty(companyname.secShortName))
                {
                    shortname = companyname.secShortName;
                    break;
                }
            }
            if (companyname.secShortName == fullname)
            {
                fullname  = companyname.secFullName;
                shortname = companyname.secShortName;
                break;
            }
            //如果进来的是简称,而提取的公司信息里面,只有全称,这里简单推断一下
            //简称和全称的关系
            if (companyname.secFullName.Contains(fullname) &&
                companyname.secFullName.Length > fullname.Length)
            {
                fullname  = companyname.secFullName;
                shortname = word;
            }
        }

        if (shortname == String.Empty)
        {
            shortname = CompanyNameLogic.GetCompanyNameByFullName(fullname).secShortName;
        }
        return(fullname, shortname);
    }