РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
563 of 723 menu

Метод parse

Метод parse класса Uri создает и возвращает новый объект Uri из переданной строки. В первый параметр мы передаем строку с адресом, во второй необязательный параметр - начальный индекс, с которого нужно начать разбор строки. Если строка содержит некорректный URI, метод выбрасывает исключение FormatException.

Метод parse удобно использовать, когда адрес уже известен в виде строки и нужно разобрать его на составные части: схему, хост, порт, путь, параметры запроса и фрагмент.

Синтаксис

Uri.parse(String uri, [int start = 0])

Пример

Давайте разберем простой адрес и выведем его основные части:

void main() { Uri uri = Uri.parse('https://code.mu:8080/path/index.html?page=1#top'); print(uri.scheme); print(uri.host); print(uri.port); print(uri.path); print(uri.query); print(uri.fragment); }

Результат выполнения кода:

"https" "code.mu" 8080 "/path/index.html" "page=1" "top"

Пример

Давайте разберем адрес, в котором нет схемы и порта, и получим его путь в виде сегментов:

void main() { Uri uri = Uri.parse('/ru/dart/manual/uri/'); print(uri.path); print(uri.pathSegments); }

Результат выполнения кода:

"/ru/dart/manual/uri/" [ru, dart, manual, uri]

Пример

Давайте разберем адрес с параметрами запроса и получим их в виде словаря:

void main() { Uri uri = Uri.parse('https://code.mu/path?page=1&sort=asc'); print(uri.queryParameters); }

Результат выполнения кода:

{page: 1, sort: asc}

Пример

Давайте передадим во второй параметр начальный индекс и разберем строку не с начала, а с заданной позиции:

void main() { Uri uri = Uri.parse('abcdehttps://code.mu', 5); print(uri.scheme); print(uri.host); }

Результат выполнения кода:

"https" "code.mu"

Пример

Давайте попробуем разобрать строку с некорректным URI и посмотрим, какое исключение будет выброшено:

void main() { try { Uri uri = Uri.parse('https://code.mu:port/path'); print(uri); } catch (e) { print('Error: $e'); } }

Результат выполнения кода:

"Error: FormatException: Invalid port"

Смотрите также

  • метод tryParse,
    который разбирает строку без исключения
  • класс Uri,
    который представляет собой адрес ресурса
  • свойство queryParameters,
    которое возвращает параметры запроса
  • свойство pathSegments,
    которое возвращает сегменты пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить