如果存在,从字符串中删除

Lea*_*ing 4 c# asp.net

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

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

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

我已经在StackExchange编辑器中直接编译了这段代码作为示例(它可能有语法错误.

请将以上内容仅作为逻辑用途.

如果有人能为上述逻辑提供优化代码,我将不胜感激.

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

Dil*_*hod 15

这个怎么样.

yourString = yourString.TrimEnd(',');
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的方法.这正是`TrimEnd()`的用途.唯一需要确认的是OP是否希望最后连续多个逗号都被修剪而不是最后一个(非常确定答案是"是"). (2认同)
  • 这应该是公认的答案,恕我直言.在可读性和长期代码支持方面,简短和甜蜜通常是最好的. (2认同)

And*_*the 6

一行选项:

someString = someString.EndsWith(",") ? someString.Substring(0, someString.Length - 1) : someString;
Run Code Online (Sandbox Code Playgroud)

编辑:

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

someString = someString.TrimEnd(',');
Run Code Online (Sandbox Code Playgroud)

恕我直言,哪个更好.