我试着替换发现的文本递归,但我不能让它工作。 这将只更换1'a'字符每个'text'之前,但我想文本之前替换所有'a'字符德尔福递归函数替换字符串
//Declared recursive function
function OneLine(s:WideString):WideString;
begin
s:=StringReplace(s,'atext', 'text', [rfReplaceAll]);
if (Pos(Result,'atext')>0) then
begin
//XMLstring:=Result;
s:=OneLine(XMLstring);
end
else
begin
Result:=XMLstring;
end;
end;
//--Here begins program
Var
t:string
Begin
//exaple of text
//we need replace all 'a' before 'text' only
t:='aaHaaatextaaaatextHHaatextHHaaaa';
//call custom recursive function
t:=OneLine(t);
ShowMessage(t);
End.
我需要替换这样的:“aaHaaatextaaaatextHHaatextHHaaaa”
最终文本应该看起来像这一点: 'aaHtexttextHHtextHHaaaa'
阅读“Pos”的文档,第一个参数是您要搜索的字符串。然后在同一行放置一个断点,并检查断点被命中时“结果”保存的内容。 –
你应该使用一个和如果内部,你会很容易地解决你的问题;) –
什么是XMLString?复制并粘贴您的真实代码。 –