加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何从字符串中删除字符的最后一个实例

发布时间:2020-12-15 18:27:41 所属栏目:百科 来源:网络整理
导读:我正在使用StringBuilder构建一个字符串. StringBuilder Q = new StringBuilder();Q.Append("INSERT INTO ");Q.Append(_lstview_item);Q.Append(" VALUES");Q.Append("("); for (i = 0; i col_no; i++){ Q.Append("'"); Q.Append(col_value[i]); Q.Append("'
我正在使用StringBuilder构建一个字符串.
StringBuilder Q = new StringBuilder();
Q.Append("INSERT INTO ");
Q.Append(_lstview_item);
Q.Append(" VALUES");
Q.Append("("); 
for (i = 0; i < col_no; i++)
{
    Q.Append("'");
    Q.Append(col_value[i]);
    Q.Append("'");
    Q.Append(",");
} 
Q.Append(")");
string query = Q.ToString();

但是,我的字符串末尾有一个“,”.
我试过用

string query = ext.Substring(0,ext.LastIndexOf(",") + 1);

删除剩余的“,”,但这也删除了“)”.

如何仅删除最后一个逗号?

实际结果:INSERT INTO …. VALUES(‘1′,’2′,’3’,)

期望的结果:INSERT INTO …. VALUES(‘1′,’3’)

解决方法

这个:
Q.Append(")");

用…来代替

if (col_no > 0)
{
    Q.Length--;
}

Q.Append(")");

检查if(col_no> 0)是否有点过分,因为如果没有列,查询仍然会因其他原因而失败,但如果我们认为这是一个关于如何在StringBuilder中组合字符串的模板,那么检查是正确的做法.

啊……以这种方式构建查询是错误的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读