void replace(String&s, String T, String v) n=StrEngth(s); m=StrEngth(T); pos =1; StrAssign(news, NullStr) ∥初始化news串为空串 while( pos < n-m+1&&1) i=ndex(S,Tpos);∥从pos指示位置起查找串T f(i!=0){ SubString(sub,S,pos,i-pos);∥不置换子串 Concat(news,news,sub);∥联接S串中不被置换部分 Concat(news, news, v); ∥联接V串 pos =l+m; ∥lpos移至继续查询的起始位置 SubString(sub,S,pos,n-pos+1);∥剩余串 Concat(s,news,sub);∥联接剩余子串并将新的串赋给S 34-1-2replace swf• void replace(String& S, String T, String V) { n=StrLength(S); m=StrLength(T); pos = 1; StrAssign(news, NullStr); // 初始化 news 串为空串 i=1; while ( pos <= n-m+1 && i ) { i=Index(S, T, pos); // 从pos指示位置起查找串T if (i!=0) { SubString(sub, S, pos, i-pos); // 不置换子串 Concat(news, news, sub); // 联接S串中不被置换部分 Concat(news,news, V); // 联接V串 pos = i+m; // pos 移至继续查询的起始位置 } } SubString(sub, S, pos, n-pos+1); // 剩余串 Concat( S, news, sub ); // 联接剩余子串并将新的串赋给S } 4-1-2replace.swf