1

我有一个关于从 C++ 字符串中删除整数的基本问题。我对 c++ 不是特别熟悉,对正则表达式也不是很熟悉。

我有一个字符串,例如

string myString = "12 text 345 text"

整数可以是任意长度,文本也可以(它不是固定的)。我需要做的是将第一个整数(12)和第二个整数(345)提取到两个单独的整数对象中。

任何帮助将不胜感激。

4

2 回答 2

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
于 2013-04-03T02:16:14.890 回答
1

做这个

stringstream os(myString);
os >> int imp1 >> string dummy >> int imp2;

cout << imp1 << " and " << imp2;
于 2013-04-03T02:17:13.720 回答