我知道如何将完整的字符串转换为integer(使用std::stoi
)。但是您能指导我如何从字符串中提取整数。例如,我想15
从string中提取整数a15a
。
string x="a15a";
int a = std::stoi(x);
如果整数在字符串的开头,则上述方法可以正常工作。例如,如果string x
is的值"15a"
,它将把它转换成整数15
。但是,如果在字符串中间的某个位置存在整数,那将不起作用。如何从字符串之间的整数中提取整数。谢谢。
另一种方法:您可以将非数字替换为空格,以便stringstring
直接使用剩余整数的提取:
std::string x = "15a16a17";
for (char &c : x)
{
if (!isdigit(c))
c = ' ';
}
int v;
std::stringstream ss(x);
while (ss >> v)
std::cout << v << "\n";
输出:
15
16
17
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句