C++关于string的一些用法
2024-08-29 18:11:07
#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
最新文章
- j2ee之Filter使用实例(页面跳转)
- .net 创建计划任务开机后自动以管理员身份启动运行 win7 ~ win10
- Tuxedo 超时时间控制(转贴)
- BizTalk开发系列(十八) 使用信封拆分数据库消息
- 写一个ajax程序就是如此简单
- 对需要聚类的数据使用canopy做初步的计算
- where T : class的含义
- 购买咏南中间件送客户端C/S和B/S开发框架
- Android_layout_note
- scala - 从合并两个Map说开去 - foldLeft 和 foldRight 还有模式匹配
- FLASH图片上传功能—从百度编辑器UEditor里面提取出来
- C#之异步编程
- Cookie 的设置和获取
- 驰骋工作流引擎 -CCBPM如何自动升级
- 我的代码-random forest
- Elasticsearch-6.7.0系列(一)9200端口 .tar.gz版本centos7环境--下载安装运行
- leetcode — unique-paths-ii
- Python3 批量替换文本内容
- 说说前端那些事之ajax
- 4.C#WebAPI多版本管理介绍及实现方案详解
热门文章
- 菜鸟学python之程序初体验
- rabbitmq 出现 com.rabbitmq.client.ShutdownSignalException: , ..................
- MySQL安装后无法用root用户访问的问题
- react-redux的基本用法
- 范性for语义以及pair和ipair的区别
- 「FFT」题单(upd 2019.4.28)
- H3C WAP712C 路由器设置
- django 1.开发接口环境搭建
- android studio 报红解决
- ubuntu 默认 root 密码