Библиотеки » Основная библиотека (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() { // разбиваем текст, используя регулярное выражение с вложенными скобками "([а-яА-Я]+)" Listlist = "Из данного текста получим список слов".split(const RegExp(@"([а-яА-Я]+)")); print(list.length); // 13, полученный массив содержит 13 элементов. // Потому что включены как разделители (слова), // так и то что между ними (в данном случае - пробелы) print(list[0]); // "" print(list[1]); // "Из" print(list[2]); // " " print(list[3]); // "данного"