假设我想删除字符串中最后一个'*'之后的所有内容(例如).知道我可以认为以下字符串是理所当然的:
什么是最简洁和/或最短的方法来删除过去的'*'以及仅使用基本库的一切?
Mik*_*our 20
鉴于你的假设:
s.erase(s.rfind('*'));
Run Code Online (Sandbox Code Playgroud)
没有假设它至少包含一个*
:
auto pos = s.rfind('*');
if (pos != std::string::npos) {
s.erase(pos);
}
Run Code Online (Sandbox Code Playgroud)