リッチテキストボックスの行末から空白を削除するにはどうすればよいですか
元の文字列
私のコード:
string[] lines2 = comparedResultRTB1.Lines;
lines2.ToString().Replace("; );",");");
次の行を追加します。
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
問題は、スペースだけでなく改行があることです。
これは意図したとおりに機能します。
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);
正規表現を使用して置換を行うことができます。質問から、あなたが何をしたいのか正確にはわかりません。新しい行とその直前にある空白をすべて削除したい場合は、次のようにします。
Regex regex = new Regex(@"\s*\n");
string input = lines2.ToString();
string result = regex.Replace(input, "");