搜索
您的当前位置:首页正文

字符串超出指定长度自动换行处理

来源:易榕旅网

///
/// 超出指定长度自动换行
///
/// 要判断的字符串
/// 一行允许设置的字符数(汉字占2个长度)
///
public string AutoChageLine(string str, int len)
{
StringBuilder sb = new StringBuilder();
int count = 0; //统计个数
for (int i = 0; i < str.Length; i++)
{
char chr = str[i];

    if (IsChinese(chr))  count += 2;
    else count += 1;

    if (count == len)
    {
        sb.Append(chr + "\r\n");
        count = 0;
    }
    else if (count > len)
    {
        sb.Append("\r\n" + chr);

        if (IsChinese(chr)) count = 2;
        else count = 1;
    }
    else
    {
        sb.Append(chr);
    }
}
return sb.ToString();

}

public bool IsChinese(char chr)
{
bool isChinese = false;
//if ((int)str[i] > 127)//判断是否是汉字
if ((int)chr > 0x4E00 && (int)chr < 0x9FA5)
{
isChinese = true;
}
else
{
isChinese = false; ;
}
return isChinese;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top