c++中怎么删掉字符串中的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中怎么删掉字符串中的字符相关的知识,希望对你有一定的参考价值。
办法很多,举其一例:
#include <string>#include <iostream>
using namespace std;
int main(void)
string str("abcdefghijk");
str.erase(3,1);//删除第3个开始的1个字符
cout << str << endl;
return 0;
参考技术A 貌似String类中有类似的方法剔除某字符串,不过我很久不用C++了忘记了=。=
给你些个算法吧:
//原来存储的字符串
String _strBuff="abceccecdf";
//处理后保存的字符串
String _str="";
for(int i=0;i<_strBuff.lengh;++i)
if(_strBuff[i]=='c')
else
_str.add(_strBuff[i]);
可能会有语法错误我这没有编译器,大概是这个意思拿去看看吧 参考技术B #include <iostream>
using namespace std;
void Remove(char str[],char remove[])
int src,dst,removearray[256];
for(src = 0 ; src <= 255; src ++)
removearray[src] = 0;
src = 0;
while(remove[src])
removearray[remove[src]] = 1;
src ++;
src = dst = 0;
do
if(!removearray[str[src]])
str[dst++] = str[src];
while(str[src++]);
void main()
char a[]="abceccecdf";
char b[]="c";
Remove(a,b);
cout<<a;
参考技术C #include <iostream>
using namespace std;
void Remove(char str[],char remove)
int t=0;
char* p=str;
while (*p)
if (remove!=*p)
str[t]=*p;
t++;
p++;
str[t]='\0';
void main()
char a[]="abceccecdf";
char b='c';
Remove(a,b);
cout<<a;
参考技术D c++ 的做法 :
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
template<class T>
struct eq
eq(T c_):c(c_)
bool operator()(T & c_)return c==c_;
T c;
;
int main()
string a = "abceccecdf";
cout << a << endl;
a.erase(remove_if(a.begin() , a.end() , eq<char>('c')) , a.end());
cout << a << endl;
return 0;
以上是关于c++中怎么删掉字符串中的字符的主要内容,如果未能解决你的问题,请参考以下文章