假设我想删除最后一个' *'之后的所有内容。 (例如)在一个字符串中。知道我可以认为以下字符串是理所当然的:
使用基本库删除最后一个' *'及其自身以外的所有内容的最简洁和/或最短的方法是什么?
答案 0 :(得分:19)
鉴于你的假设:
s.erase(s.rfind('*'));
不假设它至少包含一个*
:
auto pos = s.rfind('*');
if (pos != std::string::npos) {
s.erase(pos);
}