2013-11-04 146 views
0

我很困惑,我寫的代碼沒有做我想要的操作。刪除字符串c的最後一個字符#

我的目的:刪除字符串的最後一個字符(使用字符串生成器的字符串生成)。

我的方法:

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

我在做什麼錯?

+1

與此問題無關,您可能不想構建像這樣的SQL查詢。看看[這個答案在stackoverflow](http://stackoverflow.com/a/9162904/1020861)。 – neeKo

+0

我認爲你可以安全地將這個問題標記爲答案...(希望用最高的一個; p) – Noctis

回答

3

你必須在字符串末尾一個額外的空間...... 所以您可以使用-2,或者確保你沒有空間在盡頭

string toTrim = STR.ToString().Trim(); 
2

使用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); 
+0

沒有結果!我也試過你的代碼:( –

+0

顯示使用你的問題的簡單工作示例 – MarcinJuraszek

+0

這裏使用子字符串優於Remove的優點是什麼?意圖不明顯,性能可能相同或更差 –

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

謝謝大家的幫助。

+2

我在上面的回答中所說的:)我將命名更改爲:'string Trimmed = STR.ToString()。Trim()。Substring(0,STR.Length -1);' – Noctis

相關問題