也许有人有一种高效的方法来删除特定字符的连续重复项,最好使用内置字符串操作,而不是显式地遍历字符串字符。
例如,当我有通配符模式并且只想删除连续星号(*
)时:
/aaaa/***/bbbb/ccc/aa/*****/dd --> /aaaa/*/bbbb/ccc/aa/*/dd
对于所有字符的重复重复项,我可以使用std::unique
以以下方式:
str.erase( std::unique(str.begin(), str.end()), str.end());
但是对于仅特定字符,该怎么办。
std::remove_if
函数,然后跟随erase()
函数。就是这么简单。 - Sam Varshavchikcppreference
的说法,它是这样的。 - Sam Varshavchik