1

我很困惑我写的代码没有做我想做的事情。

我的目标:删除字符串的最后一个字符(使用字符串生成器构建字符串)。

我的方法:

  string toTrim = STR.ToString(); //here i have "INSERT INTO [dbo].[RCCMrec] ('ANI' , 'DNIS' , 'Date' , 'Time' , 'ConnId' , 'UUID' , 'EmployeeId' , 'AgentDN' , "

 toTrim = toTrim.Remove(toTrim.Length - 1);
    // here I STILL have "//here i have "INSERT INTO [dbo].[RCCMrec] ('ANI' , 'DNIS' , 'Date' , 'Time' , 'ConnId' , 'UUID' , 'EmployeeId' , 'AgentDN' , ""

我究竟做错了什么 ?

4

3 回答 3

3

改用Substring

toTrim = toTrim.Substring(0, toTrim.Length - 1);

工作示例:

var input = "abcdefghijklmnopqrstuxyz";
Console.WriteLine(input);
input = input.Substring(0, input.Length - 1);
Console.WriteLine(input);

印刷

abcdefghijklmnopqrstuxyz
abcdefghijklmnopqrstuxy

但看起来你的问题与string.Remove方法无关。以下代码可以正常工作并打印相同的结果:

var input = "abcdefghijklmnopqrstuxyz";
Console.WriteLine(input);
input = input.Remove(input.Length - 1);
Console.WriteLine(input);
于 2013-11-04T05:58:49.153 回答
3

你在字符串的末尾有一个额外的空格......所以你可以使用-2,或者确保你在最后没有空格

string toTrim = STR.ToString().Trim();
于 2013-11-04T06:02:44.360 回答
0

好吧,伙计们,我发现我哪里出错了。在子字符串中构建字符串时,我不小心在逗号之后插入了一个空格,如

 foreach (string COLUMNS in values)
                {
                    STR.Append("'");
                    STR.Append(COLUMNS);
                    STR.Append("' , "); //here is mistake
                }
                //Removing the last COMMA( , ) 
                string toTrim = STR.ToString();
              string lol= toTrim.Substring(0, toTrim.Length - 1);

我非常想删除因此代码删除了空格而不是逗号。我纠正为

 foreach (string COLUMNS in values)
                {
                    STR.Append("'");
                    STR.Append(COLUMNS);
                    STR.Append("' ,"); //corrected
                }
                //Removing the last COMMA( , ) 
                string toTrim = STR.ToString();
              string lol= toTrim.Substring(0, toTrim.Length - 1);

谢谢大家的帮助。

于 2013-11-04T06:05:31.587 回答