当前位置:编程学习 > C#/ASP.NET >>

C#字符串折行处理(全角,半角)

以下是我写的处理方法,可以把任何字符串,按照指定的长度进行拆分,如果遇到全角字符,+1后折行。

public List<string> GetStringList(string strData, int maxLength)
        {
            List<string> strList = new List<string>();
            System.Text.UnicodeEncoding ue = new UnicodeEncoding();
            byte[] by2 = ue.GetBytes(strData);
            int nSize = by2.GetLength(0);
            int nPos = 0;
            int nStart = 0;
            int nLeft = 0;
            int i;
            for(i=0;i<nSize;i++)
            {
                if(by2[i] != 0)
                {
                    nPos++;
                    if ((nPos >= maxLength) && (i%2 != 0))
                    {
                        nPos = 0;
                        string strTemp = strData.Substring(nStart / 2, ((i + 1) / 2) - nLeft);
                        nLeft += (((i + 1) / 2) - nLeft);
                        
                        nStart = i + 1;
                        strList.Add(strTemp);
                    }
                }
            }
            if (nPos != 0)
            {
                string strTemp = strData.Substring(nStart / 2, ((i + 1) / 2) - nLeft);
                strList.Add(strTemp);
            }          
            return strList;
        }
请大家鉴定一下。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,