您的位置:首页 > 其它

STL find_if应用举例

2014-02-18 17:45 357 查看

find_if用于查找区间内第一个满足指定函数的元素(函数返回值为true的时候),返回指向该元素的迭代器。如果没有找到,则返回end()迭代器。该函数包含在#include <algorithm>中。

例子:删除字符串中的特殊字符

#include<iostream>
#include <algorithm>
using namespace std;
string delSpecialChar(string fileContent)
{
string::iterator first,second;
first = find_if(fileContent.begin(),fileContent.end(),isSpecialChar);
while (first != fileContent.end())
{
second = fileContent.erase(first,first+1);
first = find_if(second,fileContent.end(),isSpecialChar);
}
return fileContent;
}

bool isSpecialChar(char specialChar)
{
//有几个字符与输入法有关;
string str="~`??!@#$%^&*()_+-=/<>·~!@#¥%……&×()——《》";
int pos = str.find(specialChar,0);
if (-1 == pos)
{
return false;
}
return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: