#region 功能描述:根据需要得字符串长度截取字串
/// <summary>
/// 根据需要得字符串长度除去字串
/// </summary>
/// <param name="str">字符串</param>
/// <param name="len">需要字串长度</param>
/// <param name="boo">截取后是否需要加“...”</param>
/// <returns></returns>
public static string GetLeftString(string str, int len, bool boo)
{
str = str.Trim();
string str1 = str;
if (len < StringLength(str))
{
//如果字符串是全英文的
if (str1.Length == StringLength(str1))
str1 = str.Substring(0, len);
else
{
int len1;
if (str1.Length >= len)
len1 = len;
else
len1 = str1.Length;
for (int i = 1; StringLength(str1) > len; i++)
str1 = str.Substring(0, len1 - i);
}
if (boo)
str1 = str1 + "...";
}
return str1;
}
#endregion
#region 功能描述:静态成员 取得字符串的长度
/// <summary>
/// 取得字符串的长度
/// </summary>
/// <param name="str">取得长度字符串</param>
/// <returns></returns>
public static int StringLength(string str)
{
System.Text.Encoding encoding1 = System.Text.Encoding.GetEncoding(0x3a8);
return encoding1.GetByteCount(str);
}
#endregion
例子:
string s = GetLeftString(dt19.Rows[i]["subjectName"].ToString(),30,true);
===================================================
#region 返回用户指定的个数的字符
/// <summary>
/// 返回用户指定的个数的字符
/// </summary>
/// <param name="str">用户要处理的字符串</param>
/// <param name="strNum">用户要需要的字符数 </param>
/// <returns></returns>
public static string ShowStringTitle(string str, int strNum)
{
string returnStr = "";
if (str.Length >= 0)
{
if (str.Length >= strNum)
{
returnStr = str.Substring(0, strNum) + "...";
}
else
{
returnStr = str;
}
}
returnStr = returnStr.Replace("<br>", "");
returnStr = returnStr.Replace("<BR>", "");
return returnStr;
}
#endregion