public static string GenerateTeaser(this string text, Int32 maxSentences, Int32 maxCharacters) { var sentences = text.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries) .Where(x => !string.IsNullOrWhiteSpace(x)).Take(maxSentences); var combined = string.Join(". ", sentences); return combined.Length <= maxCharacters ? combined : combined.Substring(0, maxCharacters - 3) + "..."; }