Мощные методы извлечения чисел с использованием регулярных выражений в Dart

Регулярные выражения (regex) — это мощные инструменты для сопоставления с образцом и извлечения данных. В Dart регулярное выражение можно использовать для извлечения чисел из строк, предоставляя универсальное решение для различных сценариев. В этой статье мы рассмотрим несколько методов извлечения чисел с помощью регулярных выражений в Dart, а также приведем примеры кода.

  1. Метод 1. Использование класса RegExp:
    Dart предоставляет класс RegExp, который позволяет определять шаблоны регулярных выражений и выполнять операции сопоставления с образцом. Чтобы извлечь числа с помощью этого метода, вы можете определить шаблон регулярного выражения, соответствующий числовым значениям, и использовать класс RegExp для их извлечения.

Пример кода:

void main() {
  // Input string
  String input = "There are 123 apples and 456 oranges.";
  // Define a regex pattern for numbers
  RegExp regex = RegExp(r'\d+');
  // Extract numbers using the pattern
  Iterable<Match> matches = regex.allMatches(input);
  List<int> numbers = matches.map<int>((match) => int.parse(match.group(0)!)).toList();
  // Print the extracted numbers
  print(numbers);
}
  1. Метод 2. Использование метода string.split():
    Другой подход к извлечению чисел заключается в разделении входной строки с использованием нечислового разделителя. Этот метод работает, когда числа разделены нечисловыми символами.

Пример кода:

void main() {
  // Input string
  String input = "There are 123 apples and 456 oranges.";
  // Split the input string using non-numeric characters
  List<String> parts = input.split(RegExp(r'\D+'));
  // Extract numbers from the split parts
  List<int> numbers = parts.map<int>((part) => int.tryParse(part) ?? 0).toList();
  // Print the extracted numbers
  print(numbers);
}
  1. Метод 3. Использование метода string.replaceAll():
    Если входная строка содержит нежелательные символы, их можно удалить с помощью метода string.replaceAll(), а затем извлечь оставшиеся числа.

Пример кода:

void main() {
  // Input string
  String input = "There are 123 apples and 456 oranges.";
  // Remove unwanted characters
  String cleanedString = input.replaceAll(RegExp(r'[^0-9]+'), '');
  // Extract numbers from the cleaned string
  List<int> numbers = [for (var digit in cleanedString.split('')) int.parse(digit)];
  // Print the extracted numbers
  print(numbers);
}

Регулярные выражения предоставляют гибкие и эффективные методы извлечения чисел из строк в Dart. В этой статье мы исследовали три различных подхода для достижения этой цели. Используя возможности шаблонов регулярных выражений, вы можете легко извлекать числа из различных строковых форматов и выполнять дальнейшие вычисления или обработку данных.

Не забудьте выбрать наиболее подходящий метод в зависимости от вашего конкретного случая использования. Приятного программирования с помощью Dart и регулярных выражений!