代码一 /// <summary> /// 截断字符串 /// </summary> /// <param name="ma
代码一
/// <summary>
/// 截断字符串
/// </summary>
/// <param name="maxLength">最大长度</param>
/// <param name="str">原字符串</param>
/// <returns></returns>
public static string CutStr(int maxLength, string str)
{
string temp = str;
if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= maxLength)
{
return temp;
}
for (int i = temp.Length; i >= 0; i--)
{
temp = temp.Substring(0, i);
if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= maxLength - 3)
{
return temp + "...";
}
}
return "...";
}
代码二
private string GetByteString(string center, int maxlen, string endStr)
{
string temp = center.Substring(0, (center.Length < maxlen + 1) ? center.Length : maxlen + 1);
byte[] encodedBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(temp);
string outputStr = "";
int count = 0;
for (int i = 0; i < temp.Length; i++)
{
if ((int)encodedBytes[i] == 63)
count += 2;
else
count += 1;
if (count <= maxlen - endStr.Length)
outputStr += temp.Substring(i, 1);
else if (count > maxlen)
break;
}
if (count <= maxlen)
{
outputStr = temp;
endStr = "";
}
outputStr += endStr;
return outputStr;
}
以上就是C# 截取字符串方法(包含中英混合)的实现代码,需要的朋友可以参考一下
--结束END--
本文标题: C#中英文混合字符串截取函数
本文链接: https://lsjlt.com/news/172462.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0