我们既然接触了C++就该用C++的思维和方法来处理事情,今天写一下string的几个方法,用于处理一些字符串的操作。
说起字符串就不得不说排序,在C时代我们有快速排序法、冒泡排序法等。
在C++中,我们完全不用这么麻烦,泛型函数库早已经给我们备好了,客官只管享用便是,不过记得包含头文件 #include <algorithm>
void stringTest()
{
//string 排序
string s("my name is ling huchong ");
string s1(s);
cout<<s <<endl;
sort(s.begin(),s.end());
cout<<s <<endl;
string::iterator itr;
itr = unique(s.begin(),s.end());
cout<<s<<endl;
cout<<*itr<<endl;
s1.assign(s.begin(),itr);
cout<<s1<<endl;
}
运行结果:
aceghilmnosuy
你会发现其它的都符合我们的要求,但是有空格,怎么办呢?
string 本身是没有提供去除空格的方法的。
不过,没关系,利用string的方法我们还是可以很容易就办到的。
void strTrim(string& s)
{
s.erase(0,s.find_first_not_of(" "));
cout<<s<<endl;
s.erase(s.find_last_not_of(" ")+1);
cout<<s<<endl;
}
再次调用,你会发现空格已经没有了。就是这么简单。