/// <summary>
        /// 使用正则表达式作为 分隔符 分割
        /// </summary>
        /// <param name="cs"></param>
        /// <param name="ptn"></param>
        /// <returns></returns>
        public static List <CellSegment> SegmentSplitByRegExp(CellSegment mainSeg, string ptn)
        {
            List <CellSegment> csList = new List <CellSegment>();

            string endSign = mainSeg.EndWhiteSpaceSign;

            Regex regx = new Regex(ptn);

            if (!regx.IsMatch(mainSeg.Text))
            {
                csList.Add(mainSeg.Clone());
                return(csList);
            }

            //string[] splitTexts = mainSeg.Text.Split(new string[] { sign }, StringSplitOptions.None);
            string[] splitTexts = regx.Split(mainSeg.Text);

            for (int i = 0; i < splitTexts.Length; i++)
            {
                CellSegment cs = new CellSegment(splitTexts[i], mainSeg.ShtName, mainSeg.CellPosition);
                //cs.EndWhiteSpaceSign = " ";
                csList.Add(cs);
            }
            csList.Last().EndWhiteSpaceSign = endSign; //还原最后一个元素的结束符
            return(csList);
        }
        /// <summary>
        /// 自动分段
        /// </summary>
        /// <param name="segText"></param>
        public static List <CellSegment> SegmentSplitBySigns(CellSegment seg, string signText)
        {
            List <CellSegment> csList = new List <CellSegment>();

            csList.Add(seg.Clone());
            List <CellSegment> tmpCsList = new List <CellSegment>();

            string[] signs = signText.Split(',');
            foreach (string sign in signs)
            {
                for (int i = 0; i < csList.Count; i++)
                {
                    List <CellSegment> subList = SegmentSplitBySingleSign(csList[i], sign);
                    tmpCsList.AddRange(subList);
                }
                csList = ListClone(tmpCsList);
                tmpCsList.Clear();
            }
            //排序号
            return(csList);
        }
        /// <summary>
        /// 使用单独sign分割
        /// </summary>
        /// <param name="segText"></param>
        /// <param name="orgSign"></param>
        /// <returns></returns>
        public static List <CellSegment> SegmentSplitBySingleSign(CellSegment mainSeg, string orgSign)
        {
            string             lastSign = mainSeg.EndWhiteSpaceSign;
            List <CellSegment> csList   = new List <CellSegment>();
            string             sign     = orgSign;

            sign = StaticValues.WSText2Symbol(orgSign);

            if (!mainSeg.Text.Contains(sign))
            {
                csList.Add(mainSeg.Clone());
                return(csList);
            }

            string[] splitTexts = mainSeg.Text.Split(new string[] { sign }, StringSplitOptions.None);

            for (int i = 0; i < splitTexts.Length - 1; i++)
            {
                if (sign == "\n" || sign == "\t")
                {
                    CellSegment cs = new CellSegment(splitTexts[i], mainSeg.ShtName, mainSeg.CellPosition);
                    cs.EndWhiteSpaceSign = orgSign;
                    csList.Add(cs);
                }
                else
                {
                    CellSegment cs = new CellSegment(splitTexts[i] + orgSign, mainSeg.ShtName, mainSeg.CellPosition);
                    //cs.EndWhiteSpaceSign = " ";
                    csList.Add(cs);
                }
            }
            //添加最后那个
            CellSegment lastCS = new CellSegment(splitTexts[splitTexts.Length - 1], mainSeg.ShtName, mainSeg.CellPosition);

            lastCS.EndWhiteSpaceSign = lastSign;
            csList.Add(lastCS);
            return(csList);
        }