如何实现 大小 写单词的替换的 问题!!!!!!!!!!!!!!!!!!!!!!!!
有一个字符串 'This Is paper 纸' ,现在要将 cup 这个单词替换成 desk ,但不能 改变其它字母的大小写!!!!例如:'This Is paper 纸' 改为 'This Is desk 纸'
'This Is PaPer 纸' 改为 'This Is desk 纸'
'This Is PAPeR 纸' 改为 'This Is desk 纸'
...
...因为 paper 这个单词中的字母大小写随时改变的!!!! 所以比较难替换!!!
有一个字符串 'This Is paper 纸' ,现在要将 cup 这个单词替换成 desk ,但不能 改变其它字母的大小写!!!!例如:'This Is paper 纸' 改为 'This Is desk 纸'
'This Is PaPer 纸' 改为 'This Is desk 纸'
'This Is PAPeR 纸' 改为 'This Is desk 纸'
...
...因为 paper 这个单词中的字母大小写随时改变的!!!! 所以比较难替换!!!
var
str:string ;
begin
str:='This Is PaPer 纸' ;
str:= AnsiReplaceStr(str,'paper','desk');
showmessage(str)
var
tmpStr:String;
begin
tmpStr:=LowerCase(SrcStr);
if Pos(LowerCase(OldStr),tmpStr)>0 then begin
tmpStr:=AnsiReplaceStr(tmpStr,OldStr,NewStr);
Result:=tmpStr;
end;
end;procedure TForm1.btn1Click(Sender: TObject);
begin
edt2.Text:=Replace(edt1.Text,'paper','desk');
end;
var
tmpStr: string;
begin
tmpStr := LowerCase(SrcStr);
if Pos(LowerCase(OldStr), tmpStr) > 0 then
begin
tmpStr := AnsiReplaceStr(tmpStr, OldStr, NewStr);
Result := tmpStr;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Showmessage(Replace('This Is PaPer ', 'paper', 'desk'));
end;
功能 返回字符串AText中用子串AFromText替换成子串AToText的结果
说明 不区分大小写
参考 function SysUtils.StringReplace; type SysUtils.TReplaceFlags
例子 Edit4.Text := AnsiReplaceText(Edit1.Text, Edit2.Text, Edit3.Text);