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

Функция views::split

Функция views::split разбивает исходный диапазон на последовательность поддиапазонов, используя в качестве разделителя заданный элемент или другой диапазон. Первый параметр принимает исходный диапазон, а второй - разделитель. Возвращается диапазон диапазонов, каждый элемент которого представляет собой поддиапазон между вхождениями разделителя. Сам исходный диапазон при этом не изменяется.

Синтаксис

std::views::split(range, delimiter)

Пример

Давайте разобьём строку "abcde" по символу 'c' и выведем полученные поддиапазоны:

#include <iostream> #include <string> #include <ranges> using namespace std; int main() { string str = "abcde"; for (auto part : str | views::split('c')) { for (char ch : part) { cout << ch; } cout << endl; } return 0; }

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

"ab" "de"

Пример

Давайте разобьём строку "1234512345" по строке-разделителю "123" и выведем полученные поддиапазоны:

#include <iostream> #include <string> #include <ranges> using namespace std; int main() { string str = "1234512345"; string delim = "123"; for (auto part : str | views::split(delim)) { for (char ch : part) { cout << ch; } cout << endl; } return 0; }

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

45 45

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

  • функция views::join,
    которая объединяет диапазон диапазонов в один
  • функция views::filter,
    которая отбирает элементы по условию
  • функция views::transform,
    которая преобразует элементы диапазона
  • функция views::all,
    которая создаёт представление из диапазона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить