函数stringreplace() 如何用啊? ( 积分: 10 )

  • 主题发起人 主题发起人 jshykj00
  • 开始时间 开始时间
J

jshykj00

Unregistered / Unconfirmed
GUEST, unregistred user!
新手,问个很笨的问题,谢谢
 
新手,问个很笨的问题,谢谢
 
function StringReplace(const S, OldPattern, NewPattern: string
Flags: TReplaceFlags): string;
type TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
 
var
sa,sb:string;
begin
sb:='好人有好报';
sa:=StringReplace(sb,'好','坏',[rfReplaceAll,rfIgnoreCase])

showmessage(sa);
end;
 
function StringReplace(const S, OldPattern, NewPattern: string
Flags: TReplaceFlags): string
//返回替换后的新字符串
S为要替换的源字符串;
OldPattern为将要替换的源字符串S中的旧子串;
NewPattern为用此新子串来替换掉S中的OldPattern串
Flags为一集合全集为[rfReplaceAll, rfIgnoreCase].若指定了rfReplaceAll则将S中的所有OldPattern串都替换成NewPattern,否则,只替换所查找到的第一个OldPattern;若指定了rfIgnoreCase则大小写敏感.
如: s:='ABCDAFG';
则StringReplace(S,'A','WWW',[])返回'WWWBCDAFG'//大小写敏感,只替换第一个.
则StringReplace(S,'a','WWW',[rfReplaceAll])返回'ABCDAFG'//因为大小敏感
则StringReplace(S,'a','WWW',[rfIgnoreCase])返回'WWWBCDAFG'//大小写不敏感但只替换第一个,这就是集合参数的奥妙.呵呵.多试几次就不晕了.哈哈.
 
据说替换的文本大了的话 效率不是很好
 
多人接受答案了。
 
后退
顶部