Поиск и замена текста

Dart:
Поиск и замена текста

Как это сделать:

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

Основной поиск и замена

Чтобы найти подстроку и заменить ее на другую строку, можно использовать replaceAll:

String sampleText = "Привет, Dart! Dart отличный.";
String modifiedText = sampleText.replaceAll("Dart", "Flutter");
print(modifiedText); // Вывод: Привет, Flutter! Flutter отличный.

Использование регулярных выражений

Для более сложных потребностей в поиске и замене Dart использует регулярные выражения через класс RegExp. Это позволяет выполнять сопоставление шаблонов и замену в строках:

String sampleText = "Dart 2023, Flutter 2023";
String modifiedText = sampleText.replaceAll(RegExp(r'\d+'), "2024");
print(modifiedText); // Вывод: Dart 2024, Flutter 2024

Этот пример находит все вхождения одной или более цифр (\d+) в строке и заменяет их на “2024”.

Поиск без учета регистра

Для выполнения поиска без учета регистра можно изменить конструктор RegExp, чтобы он игнорировал регистр:

String sampleText = "Добро пожаловать в Dart, язык программирования.";
String modifiedText = sampleText.replaceAll(RegExp(r'dart', caseSensitive: false), "Flutter");
print(modifiedText); // Вывод: Добро пожаловать в Flutter, язык программирования.

Замена с использованием функции

Для динамической замены на основе самого совпадения Dart позволяет передавать функцию в replaceAllMapped. Эта функция может выполнять операции или расчеты с найденными последовательностями:

String sampleText = "Увеличь 5 на 1, чтобы получить 6.";
String incrementedText = sampleText.replaceAllMapped(RegExp(r'\d+'), (Match m) => (int.parse(m[0]!) + 1).toString());
print(incrementedText); // Вывод: Увеличь 6 на 1, чтобы получить 7.

Это заменяет каждую последовательность цифр на ее увеличенное значение. Каждое совпадение преобразуется в целое число, увеличивается и затем обратно преобразуется в строку для замены.

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