Библиотеки » Основная библиотека (dart:core) » String » split
функция String::split
pattern.Синтаксис
Передаваемые параметры
Pattern patternВозвращаемое значение
List<String>Описание
Метод split разбивает исходную строку на подстроки, в местах вхождения шаблона pattern, и возвращает результат
в качестве массива строк. Причем, сам шаблон pattern не входит в подстроки результирующего массива.
Заметки
Метод split возвращает массив подстрок данной строки, разбивая ее по заданному символу, строке, или регулярному выражению. Если в качестве разделителя задана пустая строка, то исходная строка будет разбита на отдельные символы, что аналогично использованию метода splitChars, если разделитель в строке не найден, то будет возвращен массив, состоящий из одного элемента - данной подстроки.
Разделитель не включается в строки возвращаемого массива, но если он является регулярным выражением со вложенными скобками, то все результаты совпадения с выражением внутри скобк, будут добавлены в выходной массив.
Примеры
Разделение текста на предложения
#import('dart:core');
void main() {
// исходная строка
String text = "Предложение первое, совсем небольшое. Предложение второе - еще короче.";
// разбиваем строку, используя регулярное выражение "\\.[ ]*"
List<string> list = text.split(const RegExp("\\.[ ]*"));
print(list.length); // 3, полученный массив содержит 3 элемента
print(list[0]); // "Предложение первое, совсем небольшое"
print(list[1]); // "Предложение второе - еще короче"
print(list[2]); // ""
}
Получение списка слов из текста
// исходная строка
String text = "Из данного текста получим список слов";
// разбиваем текст, используя пробел
List<string> list = text.split(" ");
print(list.length); // 6, полученный массив содержит 6 элементов
print(list[0]); // "Из"
print(list[1]); // "данного"
print(list[2]); // "текста"
Разделяем строку, сохраняя разделители
void main() {
// разбиваем текст, используя регулярное выражение с вложенными скобками "([а-яА-Я]+)"
List list = "Из данного текста получим список слов".split(const RegExp(@"([а-яА-Я]+)"));
print(list.length);
// 13, полученный массив содержит 13 элементов.
// Потому что включены как разделители (слова),
// так и то что между ними (в данном случае - пробелы)
print(list[0]); // ""
print(list[1]); // "Из"
print(list[2]); // " "
print(list[3]); // "данного"