TrimEnd()不起作用

时间:2010-08-19 11:33:26

标签: c# asp.net

如果它以“,”结尾,我想修剪一个字符串的结尾。那是逗号和空格。

我尝试了TrimEnd(', '),但这不起作用。只有当字符串以这种方式结束时才必须这样,所以我不能只使用.Remove删除最后两个字符。我该怎么办?

6 个答案:

答案 0 :(得分:26)

string txt = "testing, ";
txt = txt.TrimEnd(',',' ');   // txt = "testing"

这使用the overload TrimEnd(params char[] trimChars)。您可以指定一个或多个将形成要删除的字符集的字符。在这种情况下逗号和空格。

答案 1 :(得分:9)

这应该有效:

string s = "Bar, ";

if (s.EndsWith(", "))
    s = s.Substring(0, s.Length - 2);

修改

想想看,这会成为一个很好的扩展方法:

public static String RemoveSuffix(this string value, string suffix)
{
    if (value.EndsWith(suffix))
        return value.Substring(0, value.Length - suffix.Length);

    return value;
}

答案 2 :(得分:5)

试试这个:

string someText = "some text, ";
char[] charsToTrim = { ',', ' ' };
someText = someText.TrimEnd(charsToTrim);

适合我。

答案 3 :(得分:0)

要注意的是,mystring.Trim(',')仅在像这样将其重新分配给string本身时才有效:

mystring = mystring.Trim(',')

答案 4 :(得分:-1)

"value, ".Trim().TrimEnd(",")也应该有用。

答案 5 :(得分:-1)

 if (model != null && ModelState.IsValid)
                {
                    var categoryCreate = new Categories
                    {
                        CategoryName = model.CategoryName.TrimStart().TrimEnd(),
                        Description = model.Description.TrimStart().TrimEnd()
                    };
                    _CategoriesService.Create(categoryCreate);
                }

TrimStart()。TrimEnd()==左侧修剪和右侧修剪