code: public static String chomp(final String str) {
          if (N.isNullOrEmpty(str)) {
              return str;
          }
  
          if (str.length() == 1) {
              final char ch = str.charAt(0);
              if (ch == N.CHAR_CR || ch == N.CHAR_LF) {
                  return N.EMPTY_STRING;
              }
  
              return str;
          }
  
          int lastIdx = str.length() - 1;
          final char last = str.charAt(lastIdx);
  
          if (last == N.CHAR_LF) {
              if (str.charAt(lastIdx - 1) == N.CHAR_CR) {
                  lastIdx--;
              }
          } else if (last != N.CHAR_CR) {
              lastIdx++;
          }
  
          return lastIdx == str.length() ? str : str.substring(0, lastIdx);
      }
docs: <p>
  Removes one newline from end of a String if it's there, otherwise leave
  it alone. A newline is &quot;{@code \n} &quot;, &quot;{@code \r}&quot;,
  or &quot;{@code \r\n}&quot;.
  </p>
  
  <p>
  NOTE: This method changed in 2.0. It now more closely matches Perl chomp.
  </p>
  
  <pre>
  N.chomp(null)          = null
  N.chomp("")            = ""
  N.chomp("abc \r")      = "abc "
  N.chomp("abc\n")       = "abc"
  N.chomp("abc\r\n")     = "abc"
  N.chomp("abc\r\n\r\n") = "abc\r\n"
  N.chomp("abc\n\r")     = "abc\n"
  N.chomp("abc\n\rabc")  = "abc\n\rabc"
  N.chomp("\r")          = ""
  N.chomp("\n")          = ""
  N.chomp("\r\n")        = ""
  </pre>
  
  @param str
  the String to chomp a newline from, may be null
  @return String without newline, {@code null} if null String input