TrimEnd()不起作用

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

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

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

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

这应该工作:

 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; } 

试试这个:

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

适合我。

问题是mystring.Trim(',')只有在你将它重新分配给string本身时才会起作用:

 mystring = mystring.Trim(',') 

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

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

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