删除字符串的最后一个字符c#

时间:2013-11-04 05:56:37

标签: c# string trim

我很困惑,我写的代码没有按照我想要的行动。

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

我的方法:

  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' , ""

我做错了什么?

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:3)

字符串末尾有一个额外的空格...... 所以你可以使用-2,或者通过

确保你没有最后的空格
string toTrim = STR.ToString().Trim();

答案 2 :(得分:0)

好吧,我发现我哪里出错了。 在子串中构建字符串时,我意外地在COMMA之后插入了一个SPACE,如

 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);

我想删除,因此代码删除了SPACE而不是逗号。 我纠正了

 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);

感谢大家的帮助。

相关问题