如何从c ++中的字符串中提取数字

时间:2015-09-15 12:25:16

标签: c++

我有一个字符串,

  

“这是我的身份4321。”

现在如何使用c ++从整个字符串中仅提取数字部分“4321”。 谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用atoiisdigit

// Example string
std::string str = "this is my id 4321.";

// For atoi, the input string has to start with a digit, so lets search for the first digit
size_t i = 0;
for ( ; i < str.length(); i++ ){ if ( isdigit(str[i]) ) break; }

// remove the first chars, which aren't digits
str = str.substr(i, str.length() - i );

// convert the remaining text to an integer
int id = atoi(str.c_str());

// print the result
std::cout << id << std::endl;