文章

34

粉丝

18

获赞

6

访问

13.7k

头像
字符串替换 题解:find + replace详细版
P2011
发布于2024年6月28日 20:55
阅读数 310

字符串函数处理比较简单,双指针容易错,find(字符串)是返回该字符串在原字符串的下标,replace()的三个参数是需要替换的下标、被替换字符串的长度、新的字符串

string& replace (size_t pos, size_t len, const string& str);
  • 1

参数说明:

  • pos : 起始位置(即要替换的子串在原字符串中的起始位置)。
  • len : 要被替换的子串的长度。
  • str : 替换后的新字符串。
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main(){
        string s;
        getline(cin,s);
        string old = "tantan";
        string news = "baibai";
        
        // 将其转为小写
        for(int i = 0;i < s.size();i ++){
            if(s[i] >= 'A' && s[i] <= 'Z'){
                s[i] = s[i] + 32;
            }
        }
        
        int index = s.find(old);
        if(index == -1){
            cout << "not find" << endl;
            return 0;
        }else{
            while(index != -1){
                s.replace(index,6,news);    
                index = s.find(old);
            }    
        }
        cout << s << endl;
        
        
        
        
        
        return 0;
    }
    

     

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发