• C++关于string的一些用法


    #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(0,str.find_first_not_of(' '));  
    }  
    void Teststring::TrimRight(string& str)  
    {  
        str.erase(str.find_last_not_of(' ')+1);  
    }  
      
    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(0,strStart.size(),strStart)==0?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)==0?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

  • 相关阅读:
    mybatis 缓存
    mybatis 动态sql
    新手必读:游戏编程入门指南
    22条常用JavaScript开发小技巧
    Unity即将全面升级 实时3D技术及大场景编辑未来可期!
    10分钟学会Python基础知识
    如何用UE4制作非写实草浪
    最适合设计师的前端学习路径有哪些?
    超全面的C++游戏开发面试问题总结
    如何学习大型项目的源码?虚幻引擎源码学习思路分享
  • 原文地址:https://www.cnblogs.com/testlife007/p/8984847.html
Copyright © 2020-2023  润新知