C#辨別中英文依照指定長度截取字符串的辦法。本站提示廣大學習愛好者:(C#辨別中英文依照指定長度截取字符串的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#辨別中英文依照指定長度截取字符串的辦法正文
本文實例講述了C#辨別中英文依照指定長度截取字符串的辦法。分享給年夜家供年夜家參考。詳細以下:
這段C#代碼用於依照指定的長度截取字符串,一個中文字符算2個字符,依照這個辦法截取的字符串根本可以堅持顯示長度分歧
/// <summary>
/// 截取文本,辨別中英文字符,中文算兩個長度,英文算一個長度
/// </summary>
/// <param name="str">待截取的字符串</param>
/// <param name="length">需盤算長度的字符串</param>
/// <returns>string</returns>
public static string GetSubString(string str, int length)
{
string temp = str;
int j = 0;
int k = 0;
for (int i = 0; i < temp.Length; i++)
{
if (Regex.IsMatch(temp.Substring(i, 1), @"[\u4e00-\u9fa5]+"))
{
j += 2;
}
else
{
j += 1;
}
if (j <= length)
{
k += 1;
}
if (j > length)
{
return temp.Substring(0, k) + "..";
}
}
return temp;
}
願望本文所述對年夜家的C#法式設計有所贊助。