c++如何将标点符号去除后输出字符串剩余的部分
本帖最后由 469826336 于 2018-10-9 11:39 编辑RT,萌新的想法貌似行不通,有大神有其他想法吗
#include<iostream>
#include<string>
using namespace std;
int main(){
string a("abc,.d'e");
for(decltype(a.size())b=0;b<a.size();++b){
if(ispunct(a)){
a='';}
}
cout<<a<<endl;
return 0;
}
引号里面要空格 claws0n 发表于 2018-10-9 12:00
引号里面要空格
http://m.qpic.cn/psb?/V13DnKFA2b7guU/pXoiWZ85XBHo.IfBSR8zdsKUAcrGbri.qJnvdta78g8!/b/dFYBAAAAAAAA&bo=sAaYAwAAAAADBw8!&rf=viewer_4
这个中间多出空格了
http://m.qpic.cn/psb?/V13DnKFA2b7guU/2x.0Db0huycI194EkPE83TnqJdTGqSgdBPOf.cMmEEA!/b/dDQBAAAAAAAA&bo=sAaYAwAAAAADJy8!&rf=viewer_4
得要这样子的 #include <iostream>
#include <string>
#include <cctype>
int main()
{
std::string string("abc,.d'e");
for(auto iter = string.begin(); iter != string.end(); ++iter)
{
if(ispunct(*iter))
{
iter = string.erase(iter);
--iter;
}
}
std::cout << string << std::endl;
return 0;
}
页:
[1]