zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    沿着河边走,环城60公里
    与客家土楼的约会(叶剑英故居福建)
    与客家土楼的约会(增城河源)
    与客家土楼的约会(东源龙川)
    C#几个经常犯错误
    C# 获取当前路径方法
    C# Stopwatch与TimeSpan详解
    话说程序员成熟的标志
    C#开源项目介绍
    C#各种加密算法的研究
  • 原文地址:https://www.cnblogs.com/testlife007/p/8984847.html
Copyright © 2011-2022 走看看