Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2660065
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: C/C++

2007-11-10 19:26:55

//#include "stdafx.h"
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

void filter_text( vector *words, string filter ) ;

#define D
#ifdef D
void filter_text( vector *words, string filter )
{
 vector::iterator iter = words ->begin();
 vector::iterator iter_end = words ->end();

 // 如果用户没有提供 filter, 则缺省使用最小集
 if ( ! filter.size() )
  filter.insert( 0, "\".," );

 while ( iter != iter_end ) {
  string::size_type pos = 0;

  // 对于找到的每个元素, 将其删除
  while (( pos = (*iter).find_first_of( filter, pos ))
   != string::npos )
   (*iter).erase(pos,1);
  iter++;
 }
 iter = words->begin();
 while ( iter != iter_end ) {
  cout << *iter << endl;
  iter++;
 }
}

vector* sperator(const string strText){
 assert(!strText.empty());
 vector *svect = new vector ;
 string::size_type pos = 0,prevPos=0;

 while(( pos=strText.find_first_of(' ',pos))!=string::npos){
  svect->push_back(strText.substr(prevPos,pos-prevPos));
  prevPos=++pos;
 }
 for(vector::iterator itr=svect->begin();itr!=svect->end();++itr){
  string str=*itr;
  cout< }
 if(svect->size() == 0)
  svect->push_back( strText);
 return svect;
}

int main() {
 string str1="magical but untamed. \"Daddy, shush, there is no such thing,";
 string str="/.+(STL).*$1/" ;
 string filt_elems( "\",.;:!?+*$0123456789)(");
 
 filter_text(sperator(str),filt_elems);
}
#endif

阅读(975) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~