KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am attempting to build a string extension method to trim a string to a certain length but with not breaking a word. I wanted to check to see if there was anything built into the framework or a more clever method than mine. Here's mine so far (not thoroughly tested): public static string SmartTrim(this string s, int length) { StringBuilder result = new StringBuilder(); if (length >= 0) { if (s.IndexOf(' ') > 0) { string[] words = s.Split(' '); int index = 0; while (index < words.Length - 1 && result.Length + words[index + 1].Length <= length) { result.Append(words[index]); result.Append(" "); index++; } if (result.Length > 0) { result.Remove(result.Length - 1, 1); } } else { result.Append(s.Substring(0, length)); } } else { throw new ArgumentOutOfRangeException("length", "Value cannot be negative."); } return result.ToString(); }
Tags (comma-separated)
Save Edits
Cancel