replaceLineBreaks method

  1. @useResult
String replaceLineBreaks(
  1. String? replacement, {
  2. bool deduplicate = true,
})

Returns a new string with all line breaks replaced by replacement.

When deduplicate is true (default), consecutive runs of the replacement string are collapsed into a single occurrence.

Implementation

@useResult
String replaceLineBreaks(String? replacement, {bool deduplicate = true}) {
  final String result = replaceAll(_lineBreakRegex, replacement ?? '');
  if (deduplicate && replacement != null && replacement.isNotEmpty) {
    final String pattern = '(?:${RegExp.escape(replacement)})+';
    final RegExp deduplicateRegex = RegExp(pattern);

    return result.replaceAll(deduplicateRegex, replacement);
  }

  return result;
}