我有这个代码,是否有一种简单的方法可以将显示的字符数限制为250?
<%# trimIt(DataBinder.Eval(Container.DataItem, "WebSalesText").ToString())%>
public string trimIt(string s)
{
if (s.Length > 0 && s.IndexOf(".") > 0)
{
return (s.Substring(0, s.IndexOf(".")) + " ...");
}
else
{
return s;
}
}
答案 0 :(得分:21)
你在寻找trimIt的实现吗?
public static string trimIt(string s)
{
if(s == null)
return string.Empty;
int count = Math.Min(s.Length, 250);
return s.Substring(0, count);
}
答案 1 :(得分:8)
您可以为字符串创建一个扩展方法来执行您需要的操作,并允许您指定允许的最大长度。
public static string TrimToMaxSize(this string input, int max)
{
return ((input != null) && (input.Length > max)) ?
input.Substring(0, max) : input;
}
答案 2 :(得分:0)
我们可以使用以下方法,
public static string RTrim(this string s, int Length) { if (s == null) return string.Empty; return s.Substring(0, s.Length - Length); }
和
public static string LTrim(this string s, int Length) { if (s == null) return string.Empty; if (s.Length >= Length) { return s.Substring(0, Length); } else { return s; } }
答案 3 :(得分:-1)
这不起作用,因为对于短于250个符号的字符串,SubString将失败。:
<%# trimIt(DataBinder.Eval(Container.DataItem, "WebSalesText").ToString().SubString(0,250))%>
但是这个(脏)解决方案可行:
<%# trimIt(DataBinder.Eval(Container.DataItem, "WebSalesText").ToString().
SubString(0,Math.min(250,
DataBinder.Eval(Container.DataItem, "WebSalesText").ToString().Length))
%>