加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:15:44 所属栏目:百科 来源:网络整理
导读:复制代码 代码如下: 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

复制代码 代码如下:

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();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读