从以下字符串中删除,
的最佳方法是什么。
六个,七个,八个,九个,十个,
int strLength = someString.Length; if (strLength > 0) { findString = findString .Substring(0, str.Length - 1); } if (findString ==",") { someString.Remove(someString.Length - 1) }
我已经在StackExchange编辑器中直接编译了这段代码作为示例(它可能有语法错误。
请仅将上述视为逻辑用途。
如果有人能为上述逻辑提供优化代码,我将不胜感激。
UPDATE :我实际上想要从字符串中删除,
,如果字符串的末尾不在中间。
答案 0 :(得分:15)
这个怎么样?
yourString = yourString.TrimEnd(',');
答案 1 :(得分:6)
一行选项:
someString = someString.EndsWith(",") ? someString.Substring(0, someString.Length - 1) : someString;
编辑:
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";