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

时间:2013-04-08 12:37:38

标签: 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)
    }
    
  4. 我已经在StackExchange编辑器中直接编译了这段代码作为示例(它可能有语法错误。

    请仅将上述视为逻辑用途。

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

    UPDATE :我实际上想要从字符串中删除,,如果字符串的末尾不在中间。

9 个答案:

答案 0 :(得分:15)

这个怎么样?

yourString = yourString.TrimEnd(',');

答案 1 :(得分:6)

一行选项:

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

编辑:

根据Dilshodanswer,可以表示为

someString = someString.TrimEnd(',');
其中,恕我直言,更好。

答案 2 :(得分:3)

您可以使用替换功能

 yourString.Replace(',','');

答案 3 :(得分:2)

这个怎么样

if(someString.Last() == ',')
{
    someString = someString.Substring(0, someString.Length - 1);
}

答案 4 :(得分:0)

这取决于你正在尝试做什么......用“”替换“,”可能就是你需要的全部? 您期望的输出值是多少?

答案 5 :(得分:0)

请检查以下代码:

 string s = "one,two,three,";   
 s = s.Remove(s.LastIndexOf(","));

答案 6 :(得分:0)

someString = someString.Remove(someString.Length - 1);

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

答案 7 :(得分:0)

请尝试:

 string s = "x,y,";
 if (s.Length > 0 && s.EndsWith(","))
   s = s.TrimEnd(',');

答案 8 :(得分:0)

使用LastIndexOf()

string str="One,Two,Three,";
string newString=str.Remove(str.LastIndexOf(',')) //Result= "One,Two,Three";