另两个替换字符串中子串的函数
function repl_substr( sub1, sub2, s: string ): string;
var i: integer;
begin
repeat
i := pos( sub1, s ) ;
if i > 0 then begin
delete( s, i, Length(sub1));
insert( sub2, s, i );
end;
until i < 1;
Result := s;
end;
function repl_substr( sub1, sub2, s: string ): string;
var i: integer;
begin
repeat
i := pos( sub1, s ) ;
if i > 0 then begin
delete( s, i, Length(sub1));
insert( sub2, s, i );
end;
until i < 1;
Result := s;
end;
解决方案 »
- FLASH文件分析高速算法 欢迎大家使用
- adoquery中如何使用update语句阿?
- WebBrowser.GoBack; 问题
- 使用FINDWINDOW()返回错误 未声明
- 请教一个关于Com口通讯的问题,谢谢了
- 设计模式,有Delphi下运用模式的例子吗?
- 怎样将两个时间类型相减最后得到的结果还是时间型?请教!
- 帮忙 学习 oicq 的一些机制 (谢谢关心一个爱好者 )
- 在局域网上如何通过IP地址获取主机名
- Word2000里面的又大又宽的 “打开、保存对话框 ”调用什么函数打开?
- 奇怪的Corba问题,在Corba中用过ADO的朋友一定要来看看(在线等待)
- Delphi 与Excel
s:整个字符串,token是字符串中需要备替换的部分 newtoken是新的替换内容
function ReplaceString(var S: string; const Token, NewToken: string; bCaseSensitive: Boolean): Boolean;
var
I : Integer;
sFirstPart: string;
begin
if bCaseSensitive then
I := AnsiPos(Token, S)
else
I := AnsiPos(AnsiUpperCase(Token), AnsiUpperCase(S));
if I <> 0 then
begin
sFirstPart := Copy(S, 1, I - 1) + NewToken; // 磷礚絘患癹
S := Copy(S, I + Length(Token), Maxint);
end;
Result := I <> 0;
if Result then
begin
ReplaceString(S, Token, NewToken, bCaseSensitive);
S := sFirstPart + S;
end;
end;