我有一个关于从c ++字符串中删除整数的基本问题。我对c ++并不是特别熟悉,也不太熟悉正则表达式。
我有一个字符串,如
string myString = "12 text 345 text"
整数可以是任意长度和文本(它不是固定的)。我需要做的是将第一个整数(12)和第二个整数(345)提取到两个单独的整数对象中。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以按如下方式使用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
答案 1 :(得分:1)
这样做
stringstream os(myString);
os >> int imp1 >> string dummy >> int imp2;
cout << imp1 << " and " << imp2;