从字符串c ++的开头和结尾删除标点符号

bfr*_*_96 2 c++

有没有办法特别从字符串的开头和结尾删除标点符号,同时单独留下收缩和占有欲?

例如"!哇!" 会变成"哇"而"不能"会留下"不能"

Max*_*kin 8

你可以这样做boost::trim_if:

std::string a = "!wow!";
boost::trim_if(a, [](char c) { return std::ispunct(c); });
std::cout << a << '\n';
Run Code Online (Sandbox Code Playgroud)

输出:

wow
Run Code Online (Sandbox Code Playgroud)