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 обеспечивает гибкость и производительность, необходимые для эффективной манипуляции текстом.