Здесь у меня есть строка, которая разбита, и каждая строка находится в отдельной ячейке в векторе, и я хочу получить всю строку, если первые три буквы .N / , однако кажется, чтоя могу получить только одну из строк, которые начинаются с .N / ниже - это строка, с которой я работаю.
std::string message = ".N/1TLIS/PART/123456789I/A/1234RFGH67323\n"
".N/AT0931/2DEC/GVA/Y\n"
".I/KL0967/02APR/AMS/F\n"
".O/123/MARRIOTT/27MAY/084512L//FEDEXVAN45\n";
КОД, КОТОРЫЙ Я ИСПОЛЬЗУЮ НА МОМЕНТЕ
std::vector<std::string> el; //VECTOR
split(el,message,boost::is_any_of("\n"));// the string above is split line for line into vector el
for(int i = 0; i < el.size(); i++)
{
if(el[i].substr(0,3) == ".N/")
{
str = el[i].substr(3);
}
}
cout << str;
Однако, когда я распечатываю str , я получаю только "1TLIS / PART / 123456789I / A / 1234RFGH67323" , а не 1TLIS /PART / 123456789I / A / 1234RFGH67323 и "AT0931 / 2DEC / GVA / Y"
Есть ли способ получить все строки, начинающиеся с определенного символа?