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#