using System.Text.RegularExpressions;
//
public static string getStr(string s,int l)
{
string temp = s ;
if (Regex.Replace(temp,"[/u4e00-/u9fa5]","zz",RegexOptions.IgnoreCase).Length<=l)
{
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<=l-3)
{
return temp + "";
}
}
return "";
}
/// <summary>
/// 截取字符
/// </summary>
/// <param name="txt">文字</param>
/// <param name="lenght">长度</param>
/// <returns>返回字符</returns>
public static string text(string txt, int lenght)
{
string outputtext = "";
if (txt.Length > lenght)
{
int tempnum = 0;
byte[] byitem = ASCIIEncoding.ASCII.GetBytes(txt);
for (int i = 0; i < txt.Length; i++)
{
if ((int)byitem[i] == 63) tempnum += 2; else tempnum += 1;
outputtext += txt.Substring(i,1);
if (tempnum == lenght) break;
}
outputtext += "…";
}
else
{
outputtext = txt;
}
return outputtext;
}
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;
}