我有以下字符串构建器作为msrtResult,这很长:
mstrResult.Append(rtbResult.Text).Append("})})" + Environment.NewLine)
Run Code Online (Sandbox Code Playgroud)
如何从mstrResult中删除最后一个","?(它位于mstrResult的中间,并且它不是整个字符串的最后一个字符,因为我要向其追加字符串)我应该在添加换行符之前执行此操作.谢谢
Kri*_*all 65
你可以减少长度来缩短字符串(C#):
mstrResult.Length -= 1;
Run Code Online (Sandbox Code Playgroud)
编辑:
你更新了问题后,我想我知道你想要的:)这个怎么样:
mstrResult.Append(rtbResult.Text).Append("})})" + Environment.NewLine);
var index = mstrResult.ToString().LastIndexOf(',');
if (index >= 0)
mstrResult.Remove(index, 1);
Run Code Online (Sandbox Code Playgroud)
nzn*_*oor 13
添加StringBuilder扩展.
public static StringBuilder RemoveLast(this StringBuilder sb, string value)
{
if(sb.Length < 1) return sb;
sb.Remove(sb.ToString().LastIndexOf(value), value.Length);
return sb;
}
Run Code Online (Sandbox Code Playgroud)
然后调用:
yourStringBuilder.RemoveLast(",");
Run Code Online (Sandbox Code Playgroud)
StringBuilder.Remove()
如果您知道要删除的字符的位置,则可以使用。
我想一开始就不添加它会更容易。
您更新的问题涉及删除最后一个逗号字符。我猜您想这样做是为了避免创建如下所示的消息:
我的购物清单包括牛奶、鸡蛋、黄油和鱼。
您可以将其组装在一个循环中,迭代一个数组。通常,您可以编写循环,以便在循环的最后一次迭代时选择(例如使用 if 语句)不添加命令。