当前位置: 移动技术网 > IT编程>开发语言>c# > C#截取中英文混合指定长度字符串实例

C#截取中英文混合指定长度字符串实例

2019年07月18日  | 移动技术网IT编程  | 我要评论

复制代码 代码如下:

using system.text.regularexpressions;
using system.text;

/// <summary>
/// 字符串长度(按字节算)
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static int strlength(string str)
{
    int len = 0;
    byte[] b;

    for (int i = 0; i < str.length; i++)
    {
        b = encoding.default.getbytes(str.substring(i,1));
        if (b.length > 1)
            len += 2;
        else
            len++;
    }

    return len;
}

/// <summary>
/// 截取指定长度字符串(按字节算)
/// </summary>
/// <param name="str"></param>
/// <param name="length"></param>
/// <returns></returns>
static string strcut(string str, int length)
{
    int len = 0;
    byte[] b;
    stringbuilder sb = new stringbuilder();

    for (int i = 0; i < str.length; i++)
    {
        b = encoding.default.getbytes(str.substring(i, 1));
        if (b.length > 1)
            len += 2;
        else
            len++;

        if (len >= length)
            break;

        sb.append(str[i]);
    }

    return sb.tostring();
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网