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++中怎么删掉字符串中的字符的主要内容,如果未能解决你的问题,请参考以下文章

C语言怎么在字符串中删掉最后一个字符

leetcode680 C++ 124ms 删掉一个字符后能否构成回文

我想将以下行存储到 C++ 中的字符串数组中。我该怎么做?

c++在字符串中怎么剔除空格字符

怎么在c++中输入一串字符啊

c++文件怎么从文件中读出和写入字符串?