Чтобы найти последнее число в строке C++, вы можете использовать различные методы. Вот несколько подходов:
-
Использование цикла. Вы можете перебирать строку с конца и проверять каждый символ, чтобы определить, является ли он числом. Найдя последнее число, вы можете извлечь его.
std::string str = "abc123def456"; std::string lastNumber; for (int i = str.length() - 1; i >= 0; i--) { if (isdigit(str[i])) { lastNumber = str.substr(i); break; } } // lastNumber will contain the last number in the string: "456" -
Использование регулярных выражений. Регулярные выражения можно использовать для поиска последнего числа в строке.
#include <regex> std::string str = "abc123def456"; std::smatch matches; std::regex pattern("\\d+$"); if (std::regex_search(str, matches, pattern)) { std::string lastNumber = matches[0]; // lastNumber will contain the last number in the string: "456" } -
Использование std::string::find_last_of: Этот метод ищет последнее вхождение любого символа из заданного набора в строке. Вы можете использовать его для поиска последней цифры.
std::string str = "abc123def456"; std::string digits = "0123456789"; size_t found = str.find_last_of(digits); if (found != std::string::npos) { std::string lastNumber = str.substr(found); // lastNumber will contain the last number in the string: "456" }