c++ remove_if能应用于字符串吗

avatar
作者
筋斗云
阅读量:0

可以的。remove_if函数可以通过提供一个谓词函数来判断字符串中的字符是否需要被移除,从而实现删除特定字符的功能。以下是一个示例代码:

#include <iostream> #include <algorithm> #include <string>  bool isVowel(char c) {     return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ||             c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); }  int main() {     std::string str = "Hello, World!";          str.erase(std::remove_if(str.begin(), str.end(), isVowel), str.end());          std::cout << str << std::endl;          return 0; } 

在这个示例中,我们定义了一个isVowel函数来判断字符是否是元音字母,然后使用remove_if函数和erase函数来移除字符串中的元音字母。输出结果将会是"Hll, Wrld!"。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!