Thursday, 5 May 2011

C# Word Wrap

private StringBuilder WordWrap(string message, int length)
{
StringBuilder build = new StringBuilder();
length++;
while (!string.IsNullOrWhiteSpace(message))
{
var lineLength = message.Length > length ? length : message.Length;

string line = message.Substring(0, lineLength);
if (!line.EndsWith(" "))
{
var lastSpace = line.LastIndexOf(" ");
if (lastSpace != -1)
lineLength = lastSpace;

line = message.Substring(0, lineLength);

}
build.AppendLine(line);
message = message.Remove(0, lineLength);
message = message.TrimStart();

}
return build;
}

0 comments: