从richtextbox中的行末尾删除空格

时间:2013-09-28 13:01:31

标签: c# regex

如何从richtextbox

中的行尾删除空格

原始字符串

我的代码:

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

3 个答案:

答案 0 :(得分:0)

可以使用Regex进行替换。不确定问题究竟是什么。如果你想要做的就是摆脱所有新行和它们之前出现的任何空格,你可以这样做:

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

答案 1 :(得分: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

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