返回列表 發帖

replace() 函式

本帖最後由 tonyh 於 2022-12-15 20:31 編輯

試以 replace() 函式,將字串中的目標對象以特定字串取代。
<string> 標頭檔與 <algorithm> 標頭檔皆有提供 replace() 函式,但其用法與效果略有不同。
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     string str1="honolulu";
  6.     //cout<<str1.replace(5,1,"a")<<endl;  //honolalu
  7.     str1[5]='a';
  8.     cout<<str1<<endl;

  9.     string str2="honolulu";
  10.     //cout<<str2.replace(str2.find("u"),1,"a")<<endl;  //honolalu
  11.     int index=str2.find('u');
  12.     str2[index]='a';
  13.     cout<<str2<<endl;

  14.     string str3="honolulu";
  15.     //replace(str3.begin(),str3.end(),'u','a');
  16.     for(int i=0; i<str3.size(); i++)
  17.         if(str3[i]=='u')
  18.             str3[i]='a';
  19.     cout<<str3<<endl;     //honolala
  20.     return 0;
  21. }
複製代碼
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<string>
  4. #include<algorithm>
  5. using namespace std;
  6. int main()
  7. {
  8.     string str1="honolulu";
  9.     cout<<str1.replace(5,1,"a")<<endl;  //honolalu
  10.    
  11.     string str2="honolulu";
  12.     cout<<str2.replace(str2.find("u"),1,"a")<<endl;  //honolalu
  13.    
  14.     string str3="honolulu";
  15.     replace(str3.begin(),str3.end(),'u','a');
  16.     cout<<str3<<endl;     //honolala
  17.    
  18.     system("pause");
  19.     return 0;
  20. }
複製代碼

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     cin.tie(0);
  6.     cin.sync_with_stdio(0);
  7.     string str1="honolulu";
  8.     str1[5]='a';
  9.     cout<<str1<<endl;
  10.     string str2="honolulu";
  11.     int index=str2.find('u');
  12.     str2[index]='a';
  13.     cout<<str2<<endl;
  14.     string str3="hahahaha";
  15.     replace(str3.begin(),str3.end(),'a','o');
  16.     cout<<str3;
  17.     return 0;
  18. }
複製代碼
hahahahahahahaha

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. //#define int ll
  5. #define FOR(i,a,b) for(int i=a;i<b;i++)
  6. #define REP(i,n) FOR(i,0,n)
  7. #define REP1(i,n) FOR(i,1,(n)+1)
  8. #define RREP(i,n) for(int i=(n)-1;i>=0;i--)
  9. #define f first
  10. #define s second
  11. #define pb push_back
  12. #define ALL(x) x.begin(),x.end()
  13. #define SZ(x) (int)(x.size())
  14. #define SQ(x) (x)*(x)
  15. #define pii pair<int,int>
  16. #define Graph vector<vector<int>>
  17. #define IOS() cin.sync_with_stdio(0),cin.tie(0),cout.tie(0)
  18. const ll inf=(1ll<<63)-1;
  19. const int maxn=1e5+5;
  20. const ll mod=1e9+7;
  21. string s="0123456789";
  22. int n;
  23. stringstream ss;
  24. int an=0;
  25. signed main()
  26. {
  27.     IOS();
  28.     cout<<s.replace(0,5,"abc")<<"\n";//abc56789    (p,l,s):[p ~ p+l-1]=s
  29.     s="0123456789";
  30.     replace(ALL(s),'1','a'); cout<<s<<"\n";//0a123456789   (l,r,c1,c2):[l~r] (c1->c2)
  31.     return 0;
  32. }
複製代碼
Allen

TOP

  1. #include<bits/stdc++.h>
  2. #include<string>
  3. #include<algorithm>
  4. using namespace std;
  5. int main()
  6. {
  7.     string str1="honolulu";
  8.     cout<<str1.replace(5,1,"a")<<endl;
  9.     string str2="honolulu";
  10.     cout<<str2.replace(str2.find("u"),1,"a")<<endl;
  11.     string str3="honolulu";
  12.     replace(str3.begin(),str3.end(),'u','a');
  13.     cout<<str3<<endl;
  14.     return 0;
  15. }
複製代碼
Ivy

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     string str1="honolulu";
  6.     str1[5]='a';
  7.     cout<<str1<<endl;
  8.     string str2="honolulu";
  9.     int index=str2.find('u');
  10.     str2[index]='a';
  11.     cout<<str2<<endl;
  12.     string str3="honolulu";
  13.     for(int i=0; i<str3.size(); i++)
  14.         if(str3[i]=='u')
  15.             str3[i]='a';
  16.     cout<<str3<<endl;   
  17.     return 0;
  18. }
複製代碼

TOP

返回列表