/// <summary> /// Strips indentation, adds &nbsp; for multiple whitespaces and ensures all lines end with a CRLF. /// </summary> private static string NormalizeText(string text) { string normalized = StripIndentation(text); normalized = AddNbsp(normalized); normalized = LineEndingHelper.Normalize(normalized, LineEnding.CRLF); return(normalized); }
public static string RtfEscape(string str) { str = LineEndingHelper.Normalize(str, LineEnding.LF); StringBuilder output = new StringBuilder((int)(str.Length * 1.1)); foreach (char c in str) { output.Append(RtfEscape(c)); } return(output.ToString()); }
public static string CompressExcessWhitespace(string str) { // RegexOptions.Multiline only works with \n, not \r\n str = LineEndingHelper.Normalize(str, LineEnding.LF); // trim lines made up of only spaces and tabs (but keep the line breaks) //str = Regex.Replace(str, @"[ \t]+(?=\r\n|$)", ""); str = Regex.Replace(str, @"[ \t]+$", "", RegexOptions.Multiline); //str = Regex.Replace(str, @"(?<=^|\n)[ \t]+(?=\r\n|$)", ""); str = str.TrimStart('\n'); str = str.TrimEnd('\n'); str = Regex.Replace(str, @"\n{3,}", "\n\n"); str = LineEndingHelper.Normalize(str, LineEnding.CRLF); return(str); }