2013-09-28 44 views
1

如何刪除在RichTextBox從行尾空白在RichTextBox從行的末尾刪除空白

原始字符串

我的代碼:

string[] lines2 = comparedResultRTB1.Lines; 
lines2.ToString().Replace(";);",");"); 
+0

什麼關係呢? – Ben

+0

是的,我需要擺脫之間的空隙;和;) – user2760129

+0

這不是我問的;你正在創建一些DDL來執行。如果新線路在那裏,它不會執行嗎?它應該執行得很好......因此,空間是否在那裏有關係嗎? – Ben

回答

0

能使用Regex做替換。不確定你想要做什麼。如果你想要做的是擺脫所有新生產線和任何空白他們面前,說來就來的,你可以做這樣的:

Regex regex = new Regex(@"\s*\n"); 
    string input = lines2.ToString(); 
    string result = regex.Replace(input, ""); 
+0

沒有工作...仍然是 – user2760129

+0

還是一樣?你在看'結果'嗎? –

+0

是的,我檢查結果,但沒有任何變化 – user2760129

0

加入這一行:

lines2 = lines2.Select(o => o.Trim()).ToArray(); 

所以,你的代碼受本:

string[] lines2 = comparedResultRTB1.Lines; 
lines2 = lines2.Select(o => o.Trim()).ToArray(); 
lines2.ToString(); // I'm assuming there is supposed to be an assignment here 

如果你不想使用LINQ您可以使用此方法:

string[] TrimLines(string[] lines) { 
    var trimmedLines = new List<string>(); 

    foreach(var line in lines) { 
     trimmedLines.Add(line.TrimEnd()); 
    } 

    return trimmedLines.ToArray(); 
} 

在這種情況下,您的代碼將成爲這個:

string[] lines2 = comparedResultRTB1.Lines; 
lines2 = TrimLines(lines2); 
lines2.ToString(); // I'm assuming there is supposed to be an assignment here 
0

這個問題似乎是,你在那裏有一個換行符,而不僅僅是空間。

這按預期工作:

var text = "ALTER TABLE \"TBLCONCESSIONAIREOFFICES\" ADD (\"CNCO_IRISAUTOCONFIRMINVOICE\" NUMBER(" + 
    "2,0) DEFAULT 0  --0: No, 1: Yes; \r\n);"; 

var splitted = text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Select(a => a.Trim()); 

var result = String.Concat(splitted); 
+0

它刪除了所有內容.. – user2760129

+0

我已發佈的代碼作品(我在發佈之前測試過)。你必須在你身邊做錯誤的事情。 –