我只是寫了一些代碼從一些文本中去掉多餘的換行符。每一組連續的換行符都被合併爲一個換行符。有沒有辦法使用LINQ從文本中刪除多餘的換行符?
這似乎是它可能是一個使用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();
}
有一個拆分重載刪除空條目:http://msdn.microsoft.com/en-us/library/ms131448.aspx - 雖然它不會刪除只有空白的行,因爲您的代碼。 – Blorgbeard 2012-08-13 04:47:38