如何从字符串的末尾提取数字

veh*_*zzz 7 c c++ stl

给出如下字符串:

   sdfsd34 
    sdfdsf1
Run Code Online (Sandbox Code Playgroud)

我想提取:34,1 使用c ++(STL但没有提升),c.

谢谢

Kon*_*lph 26

你正在寻找这个功能string.find_last_not_of:

string str = "sdfsd34";
size_t last_index = str.find_last_not_of("0123456789");
string result = str.substr(last_index + 1);
Run Code Online (Sandbox Code Playgroud)

  • @Jeelee 这取决于 OP 的含义。如果他的意思是“在第一个数字之后提取所有内容”,那么您的意思是正确的;如果他的意思是“提取尾随数字”(即“1337hunter2”中的“2”),那么只有康拉德是对的。来自未来的访客当然可以使用他们想做的任何事情。 (2认同)