限制c#String中的字符数

时间:2009-08-25 15:15:32

标签: c# asp.net

我有这个代码,是否有一种简单的方法可以将显示的字符数限制为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;
    }
}

4 个答案:

答案 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))
%>