有没有办法在单个命令中执行以下操作(为了避免测试)
if (mystring.find_first_not_of("X") != std::string::npos) {
mystring.erase(0, mystring.find_first_not_of("X"));
}
答案 0 :(得分:1)
mystring.erase(0, std::max(0, (std::make_signed<std::string::size_type>::type)
mystring.find_first_not_of('X')));
或没有C ++ 11:
mystring.erase(0, std::max(0, (int)mystring.find_first_not_of('X')));