字符串的修改与替换

来源:互联网 发布:声卡机架软件下载 编辑:程序博客网 时间:2024/06/13 04:23
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string str1("123456");
    string str2("abcdefghijklmn");
    string str;
    str.assign(str1);//使用字符串str1初始化str;
    cout<<str<<endl;
    str.assign(str1,3,3);//使用str1的一部分初始化字符串str(下标为3的开始,往后数3个)
    cout<<str<<endl;
    str.assign(str1,2,str1.npos); //使用str1的一部分初始化字符串str(下标为2的开始,到最后一个)
    cout<<str<<endl;
    str.assign(5,'X'); //使用5个'X'来初始化字符串str
    cout<<str<<endl;
    string::iterator itB; //获取字符串起始位置
    string::iterator itE; //获取字符串末端位置指针
    itB=str1.begin();
    itE=str1.end();
    str.assign(itB,(--itE));   //比str.assign(itB,itE);少最后一个元素
    //str.assign(itB,itE);
    cout<<str<<endl;
    str=str1;
    cout<<str<<endl;
    str.erase(3); //删除下标为3的及以后的元素
    cout<<str<<endl;
    str.erase(str.begin(),str.end()); //删除完str的所有元素
    cout<<":"<<str<<":"<<endl;
    //str.swap(str2); //交换元素 str得到str2的元素,str2得到str的元素
    swap(str,str2);  //交换元素 str得到str2的元素,str2得到str的元素,两种方式都可以
    cout<<str<<endl;
    ////////////
    int a=2;   //交换元素
    int b=3;
    swap(a,b);  ///
    cout<<a<<" "<<b<<endl;
    /////////////////
    string A("ello");
    string B("Ha");
    B.insert(1,A);//插入元素 ,在B下标为1的位置插入A
    cout<<B<<endl;
    ///...........
    
    A="ello";
    B="H";
    B.insert(1,A,2,2);  //从B的下标为1开始,插入A的下标由2开始往后数两个
    cout<<"插入:"<<B<<endl;
    ///..........
    A="ello";
    B="H";
    B.insert(1,"yangchy",3);  //从B的下标为1开始,插入"yangchy"的前3个字符
    cout<<"插入:"<<B<<endl;
    ///..........
    A="ello";
    B="H";
    B.insert(1,5,'C');  //从B的下标为1开始,往后插入5个C
    cout<<"插入:"<<B<<endl;
    ///..........
    A="ello";
    B="H";
    string::iterator it=B.begin()+1;
    const string::iterator itF=A.begin();
    const string::iterator itG=A.end();
    B.insert(it,itF,itG); //从B的指针指向下标为1开始,插入A的所有元素  
    cout<<"插入:"<<B<<endl;
    ///..........
    A="ello";
    B="H";
    cout<<"A="<<A<<",B="<<B<<endl;
    B.append(A);
    cout<<"追加: "<<B<<endl; //B后面追加了A
    B.append("1"); //只能追加字符串
    cout<<"追加: "<<B<<endl;
    ///..........
    A="ello";
    B="H";
    cout<<"A="<<A<<",B="<<B<<endl;
    B.append("12345",2); ////B后面追加了前两个字符
    cout<<"追加: "<<B<<endl;
    ///..........
    A="ello";
    B="H";
    cout<<"A="<<A<<",B="<<B<<endl;
    B.append("12345",2,3); ////B后面追加从下标2开始,往后走3个
    cout<<"追加: "<<B<<endl;
    ///..........
    A="ello";
    B="H";
    cout<<"A="<<A<<",B="<<B<<endl;
    B.append(10,'A'); ////B后面追加10个A字符
    cout<<"追加: "<<B<<endl;
    ///..........
    A="ello";
    B="H";
    cout<<"A="<<A<<",B="<<B<<endl;  
    B.append(A.begin(),A.end()); ////B后面追加A的所有
    cout<<"追加: "<<B<<endl;
    return 0;
 }
0 0
原创粉丝点击