У меня есть vector
, содержащий strings
, который соответствует формату text_number-number
Например: Example_45-3
Мне нужно только первое число (45
в примере) и ничего другого, что я могу сделать с моим текущим кодом:
std::vector<std::string> imgNumStrVec;
for(size_t i = 0; i < StrVec.size(); i++){
std::vector<std::string> seglist;
std::stringstream ss(StrVec[i]);
std::string seg, seg2;
while(std::getline(ss, seg, '_')) seglist.push_back(seg);
std::stringstream ss2(seglist[1]);
std::getline(ss2, seg2, '-');
imgNumStrVec.push_back(seg2);
}
Есть ли более простые и простые способы сделать это? и если да, то каковы они?
Я прошу чисто из желания узнать, как лучше кода лучше, чем в конце дня, приведенный выше код успешно извлекает только первое число, но кажется, что он длинный и округлый.