разделение строки в с ++ без четкого знака? - PullRequest
0 голосов
/ 04 августа 2020

Учитывая следующий ввод: test="<a,b>,<cdf,d>,<e,ff>..." как я могу разбить его на части, чтобы получить:

<a,b>
<cdf,d>
<e,ff>

1 Ответ

1 голос
/ 04 августа 2020

Вы можете использовать регулярное выражение для сопоставления отдельных частей, например:

std::regex re{R"(<\w+,\w+>)"};

, а затем легко построить vector<string> результатов следующим образом:

std::vector<std::string> pieces;

std::sregex_token_iterator begin(str.begin(), str.end(), re), end;

std::copy(begin, end, std::back_inserter(pieces));

Вот демо .

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