一部のテキストから余分な改行を削除するコードをいくつか書きました。連続する改行のすべてのセットは、単一の改行に折りたたまれます。
これは、コードを簡素化するために LINQ を使用するのに適しているようです。私はLINQにかなり慣れていないので、これを行う方法がわかりません。誰でも解決策を提案できますか?
これが私の元のコードです:
/// <summary>
/// Collapse extra newlines.
/// </summary>
private string CollapseNewlines(string script)
{
// Remove extra newlines.
var lines = script.Split('\n');
var output = new StringBuilder();
bool prevLineWasEmpty = false;
foreach (var line in lines)
{
if (line.Trim() == string.Empty)
{
if (prevLineWasEmpty)
{
continue; // Ignore this line.
}
prevLineWasEmpty = true;
}
else
{
prevLineWasEmpty = false;
}
output.Append(line);
output.Append("\n");
}
return output.ToString();
}