入门字符串学习笔记
Published on 2023-09-13 22:00 in 分类: 灌水 with shixuanbin
分类: 灌水

入门字符串学习笔记

入门字符串学习笔记

知识点:

一、字符串的定义 string s; 字符串 字符数组 s[0],s[1],…. S串的第一个字符、第二个字符

二、字符串定义并初始化 string s = “abcdef”; strings(“hello!”); string s(100,”*”); \100个星号

三、连接字符串 + s1串变量+s2串变量 (串常量) s+=字符 或 s1+=s2 (s1在前s2在后,并赋值给s1)

四、直接赋值字符串 string s1,s2; s1 = “abcd” s2 = s 1+“efgh”

五、直接比较大小 if(s1 > s2) … 字母比较大小按字典顺序

六、读一行(包含空格) getline(cin,s); 如果cin>>s 只读一个单词 getchar() getline(cin,s)

七、字符串处理函数:

  1.  插入子串 s.push_back(‘a’); 只能在尾部插入一个字符 s.insert(开始位置pos,插入字符串s1)
  2.  求字符串长度 s.size() s.length() 取字符串的子串/裁剪 s.substr(开始位置pos,字串长度len);
  3.  删除子串 s.erase(开始位置pos,删除长度len);
  4.  替换子串 s.replace(开始位置pos,替换长度len,换上的子串s1)
  5.  查找子串 s.find(子串s2,[开始位置pos]) 不写pos默认从头开始查找 找不到 == string::npos 或 == -1
  6.  大写/小写 tolower(字符) 转小写、 toupper(字符) 转大写 s[i]= tolower(s[i]);
  7.  transform(s.begin(),s.end(),s.begin(),::tolower/toupper)
  8.  排序 sort(s.begin(),s.end()) s串从s.begin()开始到s.end按字典排序
  9.  数字转字符串 to_string(数字) 
  10.  数字串转数字 stoi(),stoll(),stof(),stod()

例题:P5734 【深基6.例6】文字处理软件

#include<bits/stdc++.h>
using namespace std;
int main()
{   
    int q,n,a,b;
    string s,str;
    cin>>q;
    cin>>s;
    for(int i=1;i<=q;i++)
    {
        cin>>n;
        if(n==1)
        {
            cin>>str;
            s += str;
            cout<<s<<endl;
        }
        else if(n==2)
        {
            cin>>a>>b;
            s = s.substr(a,b);  //(pos,len)
            cout<<s<<endl;
        }
        else if(n==3)   
        {
            cin>>a>>str;
            s.insert(a,str);
            cout<<s<<endl;
        }
        else if(n==4)
        {
            cin>>str;
            if(s.find(str)>=100)
                cout<<-1<<endl; 
            else cout<<s.find(str)<<endl;
        }
    }
    return 0;
}

完......

posted @   shixuanbin  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示