/** * Return a String with linefeeds and carriage returns normalized to linefeeds. * * @param self a String object * @return the normalized string * @since 1.6.0 */ public static String normalize(String self) { final int len = self.length(); final StringBuilder sb = new StringBuilder(self.length()); for (int i = 0; i < len; i++) { final char ch = self.charAt(i); if (ch == '\r') { sb.append('\n'); if (i + 1 < len && self.charAt(i + 1) == '\n') i++; // skip the LF in CR LF sequence } else { sb.append(ch); } } return sb.toString(); }