#include <iostream>
#include <algorithm>
#include <functional>
using namespace std; class Teststring
{
public: void Toupper(string& str); //转大写
void Tolower(string& str); //转小写
void TrimRight(string& str); //去除后面的空格
void TrimLeft(string& str); //去除前面的空格
void DeleteChar(string& str,char ch); //去掉字符串里某个字符,注意,是都去掉
void TestReplace(); //替换字符串里的某一段字符 例如 abcdef 将ab替换成cd
bool StartWith(const string& str,const string& strStart); //字符串以某段开头
bool EndWith(const string& str,const string& strEnd); //字符串以某段结尾
void TestReverse(); //翻转字符串
}; void Teststring::Toupper(string& str)
{
transform(str.begin(),str.end(),str.begin(),::toupper);
} void Teststring::Tolower(string& str)
{
transform(str.begin(),str.end(),str.begin(),::tolower);
} void Teststring::TrimLeft(string& str)
{
str.erase(,str.find_first_not_of(' '));
}
void Teststring::TrimRight(string& str)
{
str.erase(str.find_last_not_of(' ')+);
} void Teststring::DeleteChar(string& str,char ch)
{
str.erase(remove_if(str.begin(),str.end(),bind2nd(equal_to<char>(), ch)),str.end());
} void Teststring::TestReplace()
{
string str = "abcdef";
string strSub = "ab";
str.replace(str.find(strSub),strSub.size(),"cd");
cout<<str.c_str()<<endl;
} bool Teststring::StartWith(const string& str,const string& strStart)
{
if(str.empty() || strStart.empty())
{
return false;
} return str.compare(,strStart.size(),strStart)==?true:false;
} bool Teststring::EndWith(const string& str,const string& strEnd)
{
if(str.empty() || strEnd.empty())
{
return false;
}
return str.compare(str.size()-strEnd.size(),strEnd.size(),strEnd)==?true:false;
} //翻转汉字的过程中,会出现乱码,因为该方法是按char进行翻转的
void Teststring::TestReverse()
{
string str1 = "张东升";
std::reverse(str1.begin(),str1.end());
string str2 = "";
str2.assign(str1.rbegin(),str1.rend()); }

转自:

https://blog.csdn.net/kwsy2008/article/details/11533329

最新文章

  1. 【poj2154】 Color
  2. jquery插件的两种形式
  3. Oracel EBS - Response
  4. UITabar 设置字体大小/颜色
  5. 【Android】魅族Flyme OS 3摄像头无法预览的问题
  6. Lexicography(数学推论&gt;&gt;求按字典序排第k个排列)
  7. 后台弹出JS类
  8. JSP-10-JSTL标准标签库
  9. 2016.05.04,英语,《Vocabulary Builder》Unit 22
  10. HDU 1681 Frobenius
  11. Android Fragment基础及使用
  12. How to avoid the 0-byte file on Webclient download error
  13. Linux系统中常用的命令汇总
  14. linux 几个命令
  15. @RequestParam注解一般用法
  16. 【Eclipse】如何在Eclipse中使用命令行?
  17. Lower Power with CPF(一)
  18. Android事件分派机制
  19. bzoj 3105
  20. 枚举Enum转换为List,获取枚举的描述

热门文章

  1. iTextCharp c#
  2. babel 插件编写
  3. hadoop distcp 命令使用指导
  4. P4145 上帝造题的七分钟2 / 花神游历各国(线段树区间开平方)
  5. ABP中的Filter(下)
  6. LODOP打印用JS获取的当前日期
  7. 【XSY3309】Dreamweaver 高斯消元 拉格朗日插值
  8. 【简】题解 AWSL090429 【数塔问题】
  9. 牛客小白月赛13 小A买彩票 (记忆化搜索)
  10. Redis的删除机制、持久化 主从