У меня есть основной вопрос, касающийся удаления целых чисел из строки C ++. Я не особенно знаком с c ++ или слишком хорош с регулярными выражениями.
У меня есть такая строка
string myString = "12 text 345 text"
Целые числа могут быть любой длины, а также текста (это не является фиксированным). Что мне нужно сделать, это извлечь первое целое число (12) и второе (345) в два отдельных целочисленных объекта.
Любая помощь будет принята с благодарностью.
Вы можете использовать stringstream
следующее:
std::string myString = "12 text 345 text";
int firstInteger = 0;
int secondInteger = 0;
std::string firstString= "";
std:string secondString="";
std::stringstream ss(myString);
ss >> firstInteger >> firstString >> secondInteger >> secondString;
std::cout << "firstInteger " << firstInteger
<< "\nSecondInteger " << secondInteger <<std::endl;
Это выводит:
firstInteger 12
secondInteger 345
сделай это
stringstream os(myString);
os >> int imp1 >> string dummy >> int imp2;
cout << imp1 << " and " << imp2;