怎样在c++中用string类函数把一个句子中的非字母字符找出并去掉?
怎样找到多个非字母的字符,用find找?但是库中的函数好像只能找到他的位子并输出。然后再用erase函数去掉他?具体应该怎么用啊?...
怎样找到多个非字母的字符,用find找?但是库中的函数好像只能找到他的位子并输出。然后再用erase函数去掉他?具体应该怎么用啊 ?
展开
3个回答
2013-09-09
展开全部
用迭代器遍历string对象,迭代器可以做解引用得到string内的字符,再用cctype 头文件里的isalpha测试这个字符,如果不是字母就用erase删除.
展开全部
#include<string>
#include<algorithm>
#include<cctype>
string sentence("I'm learning C++.");
for(auto &u : sentence)
if (!isalpha(u))
u=' ';
sentence.erase(remove(sentence.begin(),sentence.end(),' '),sentence.end());
#include<algorithm>
#include<cctype>
string sentence("I'm learning C++.");
for(auto &u : sentence)
if (!isalpha(u))
u=' ';
sentence.erase(remove(sentence.begin(),sentence.end(),' '),sentence.end());
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-09
展开全部
按ctri+f9查找
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询