Видалення символів, що відповідають патерну

Dart:
Видалення символів, що відповідають патерну

Як зробити:

Dart дозволяє просто видалити символи, що відповідають попередньо визначеному шаблону, використовуючи регулярні вирази та метод replaceAll. Для базового використання не потрібні сторонні бібліотеки, що робить цей підхід дуже доступним.

Ось простий приклад, який демонструє, як видалити цифри з рядка:

void main() {
  String stringWithDigits = 'Dart123 цікаво456';
  // Визначаємо шаблон регулярного виразу, що відповідає усім цифрам
  RegExp digitPattern = RegExp(r'\d');
  
  // Замінюємо всі входження шаблону на пустий рядок
  String result = stringWithDigits.replaceAll(digitPattern, '');
  
  print(result); // Вивід: Dart цікаво
}

Припустимо, ви маєте справу з більш складним сценарієм, наприклад, вилученням спеціальних символів, крім пробілів і пунктуації. Ось як це можна зробити:

void main() {
  String messyString = 'Dart!@# це *&()весело$%^';
  // Визначаємо шаблон, що відповідає всьому, крім літер, цифр, пробілів та пунктуації
  RegExp specialCharPattern = RegExp(r'[^a-zA-Z0-9 \.,!?]');
  
  String cleanedString = messyString.replaceAll(specialCharPattern, '');
  
  print(cleanedString); // Вивід: Dart! це весело
}

Для завдань, що вимагають більш передового відповідності шаблонам і замін, детальна документація класу RegExp в Dart пропонує глибокий занурення в більш складні вирази та їх використання. Однак, вищенаведені приклади покривають більшість типових випадків видалення символів, заснованих на шаблонах, у програмуванні на Dart.