如何替换string字符串里面的子字符串

比如说有string 字符串ss, 找到里面的A字符串,并用B字符串替换 (注意A与B并不一定要等长度)

 1 using std::string
 2 string ss, A, B;
 3 getline(cin, ss);
 4 cin >> A;
 5 cin >> B;
 6 int position = 0;
 7 //position用于记录在ss字符串中找到A字符串的位置,npos检测是否到
 8 //达ss的末尾   find函数说明在ss的position位置开始寻找A字符串
 9 while ((position = ss.find(A, position) != string::npos) {
10 /*第一个参数表示从ss的position位置开始,往后数A.length位,将这段*字符串替换为B
11 */
12     ss.replace(position, A.length(), B);
13     position += B.length();
14 }

 

posted @ 2014-03-09 15:03  向日葵的祈愿  阅读(441)  评论(0)    收藏  举报