string_extension.dart 554 B

1234567891011121314151617181920
  1. import 'package:flutter/material.dart';
  2. extension EncodeString on String {
  3. static const _specialCharacters = r'\/:*?"<>| ';
  4. /// Encode a string to a file name.
  5. ///
  6. /// Normalizes the string to remove special characters and replaces the "\/:*?"<>|" with underscores.
  7. String toFileName() {
  8. final buffer = StringBuffer();
  9. for (final character in characters) {
  10. if (_specialCharacters.contains(character)) {
  11. buffer.write('_');
  12. } else {
  13. buffer.write(character);
  14. }
  15. }
  16. return buffer.toString();
  17. }
  18. }