Вывести текст внутри скобок

121
23 апреля 2021, 06:50

Вводится текст с клавиатуры, в тексте открываются скобки, внутри которых содержится другой текст. Нужно вывести этот другой текст через cout. Текст может быть в скобках не весь, но вывести нужно только то, что в скобках. Какие функции помогут с этим?

Answer 1

Простейшим решением будет найти первую (открывающую) и последнюю (закрывающую) скобки в тексте и вывести все символы между ними:

#include <iostream>
#include <string>
int main()
{
    /* Создаем переменную типа std::string, в которой будет храниться весь
       наш введенный текст: */
    std::string text;
    /* Считываем строку из стандартного потока ввода (из консоли) в нашу
       переменную text: */
    std::getline(std::cin, text);
    /* Находим индексы первой и последней скобки в строке (предполагается,
       что в строке точно есть обе скобки): */
    const auto firstBracketIndex = text.find('(');
    const auto lastBracketIndex = text.rfind(')');
    /* Выводим все символы строки, внутри этих двух скобок: */
    for (size_t i = firstBracketIndex + 1; i < lastBracketIndex; i++)
        std::cout << text[i];
}

Пример работы:

$ .\program.exe
first (second) third
second
READ ALSO
Нетипизированный связной список

Нетипизированный связной список

Как бы я мог получить значение value из своей структуры Val?

113
Code blocks linux не компилируется алиас типа

Code blocks linux не компилируется алиас типа

Вопрос из разряда для начинающих, но учитывая что я под линуксом делаю свой первый проект - думаю это простительно

113
Параллельный вызов boost.python

Параллельный вызов boost.python

Пытаюсь из кода на python, распараллеленного с помощью ThreadPoolExecutor вызвать код на C++Создается впечатление, что в момент входа в C++ функцию все питоновские...

115
jQuery Validate plugin - не срабатывает правило для пароля

jQuery Validate plugin - не срабатывает правило для пароля

Хочу добавить некоторые требования к паролю:

98