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

  • 相关阅读:
    BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第15章节--开发SP2013工作流应用程序 总结
    OpenStreetMap初探(一)——了解OpenStreetMap
    企业服务总线架构介绍
    【Stackoverflow好问题】java在,如何推断阵列Array是否包括指定的值
    C和指针 (pointers on C)——第一章:高速启动
    类别sort使用排序
    [Oracle]
    4点,从今天谈用户体验设计经验京东亚马逊购物
    从[java.lang.OutOfMemoryError: Java heap space]恢复
    C++学习笔记32 断言函数
  • 原文地址:https://www.cnblogs.com/testlife007/p/8984847.html
Copyright © 2011-2022 走看看