5

,从以下字符串中删除的最佳方法是什么。

  1. 一二三,
  2. 三、四、五
  3. 六、七、八、九、十、

    int strLength = someString.Length;
    
    if (strLength > 0)
    {
         findString = findString .Substring(0, str.Length - 1);
    }
    
    if (findString ==",")
    {
         someString.Remove(someString.Length - 1)
    }
    

作为示例,我直接在 StackExchange 编辑器中快速编译了此代码(可能有语法错误。

请仅将以上内容作为逻辑目的。

如果有人可以为上述逻辑提供优化的代码,我将不胜感激。

更新,:如果出现在字符串末尾而不是中间,我实际上想从字符串中删除 。

4

9 回答 9

17

这个怎么样。

yourString = yourString.TrimEnd(',');
于 2013-04-08T12:44:44.827 回答
8

单行选项:

someString = someString.EndsWith(",") ? someString.Substring(0, someString.Length - 1) : someString;

编辑:

根据Dilshod回答,这可以表示为

someString = someString.TrimEnd(',');

恕我直言,哪个更好。

于 2013-04-08T12:46:17.793 回答
3

您可以使用替换功能

 yourString.Replace(',','');
于 2013-04-08T12:39:51.040 回答
2

这个怎么样

if(someString.Last() == ',')
{
    someString = someString.Substring(0, someString.Length - 1);
}
于 2013-04-08T12:39:18.797 回答
0

这取决于您到底要做什么...用“”替换“,”可能就是您所需要的吗?您期望的输出值是多少?

于 2013-04-08T12:39:01.600 回答
0

检查下面的代码:

 string s = "one,two,three,";   
 s = s.Remove(s.LastIndexOf(","));
于 2013-04-08T12:42:11.663 回答
0
someString = someString.Remove(someString.Length - 1);

这将删除字符串的最后一个字符。请务必在执行此操作之前检查字符串的长度。

于 2013-04-08T12:43:41.793 回答
0

请试试:

 string s = "x,y,";
 if (s.Length > 0 && s.EndsWith(","))
   s = s.TrimEnd(',');
于 2013-04-08T12:46:11.277 回答
0

使用 LastIndexOf()

string str="One,Two,Three,";
string newString=str.Remove(str.LastIndexOf(',')) //Result= "One,Two,Three";
于 2013-04-08T12:49:38.183 回答