+ -
当前位置:首页 → 问答吧 → 文本如何替换?怎么都达不到要求

文本如何替换?怎么都达不到要求

时间:2011-09-03

来源:互联网

sList:=TStringList.Create;
  sList2:=TStringList.Create;
  sList.LoadFromFile('replace.txt');//要替换的字符串列

  sList2.LoadFromFile('test.txt'); //被替换的文本
  reg:= TPerlRegEx.Create(nil);
  Reg.RegEx:='(?<=\+).*?(?=])';
  reg.Subject:=sList2.Text;
  while reg.MatchAgain do
  begin
  for i := 0 to 22 do //PerRegex好像没有匹配次数,用常量
  begin //意图替换每一个匹配的项
  s:=StringReplace(sList2.text,Reg.MatchedExpression,sList.Strings[i],[rfReplaceAll]);
  end;
  end;
  Memo2.Lines.Add(s); //结果只有最后一行被替换
  reg.Free;
  sList.Free;
  sList2.Free;
end;
我想自己弄错了,求大家帮我想个方法。有没表达清楚尽管提出

作者: jet_piolet   发布时间: 2011-09-03

要替换的文本:红色为要被替换的部分
  xxx+1C] 
历史+78] 
:数学+748] 
:外语+744]

作者: jet_piolet   发布时间: 2011-09-03

热门下载

更多