stripTrailingWhitespace function

String stripTrailingWhitespace(
  1. String str
)

Strips trailing whitespace from each line while preserving line endings.

Implementation

String stripTrailingWhitespace(String str) {
  final parts = str.split(RegExp(r'(\r\n|\n|\r)'));
  final result = StringBuffer();
  for (var i = 0; i < parts.length; i++) {
    if (i % 2 == 0) {
      result.write(parts[i].replaceAll(RegExp(r'\s+$'), ''));
    } else {
      result.write(parts[i]);
    }
  }
  return result.toString();
}