当前位置:编程学习 > Delphi >>

Delphi 获取两字符串之间的内容

如何在Delphi中获取两字符串之间的内容
如定义如下函数
function GetStringBetween(const FullStr, StrLeft, StrRight: String): string;
调用如下:
strtmp:=GetStringBetween('123456789','123','89');
结果strtmp='4567'
请问GetStringBetween这个函数怎么写?

答案:function GetStringBetween(const FullStr, StrLeft, StrRight: String): string;
var
  i,n:integer;
begin
  i:=pos(StrLeft,FullStr)+length(StrLeft);
  n:=pos(StrRight,FullStr)-length(StrLeft)-1;
  Result:=copy(FullStr,i,n);
end;用正则表达式,快捷高效。
uses TRegExpEx;(自己找,万一的Delphi博客上有介绍)
然后按照这个模式构造正则表达式:
/123(.*)89/
把Subject设为123456789,然后Match,在Matches[1]里面就是结果
//显示找到的第一个var  reg: TPerlRegEx;begin  reg := TPerlRegEx.Create(nil);  reg.Subject := 'CodeGear Delphi 2007 for Win32';  reg.RegEx  := '\d'if reg.Match then    ShowMessage(reg.MatchedExpression)  //2  else    ShowMessage('没找到');  FreeAndNil(reg);end;

上一个:关于Delphi的多态 继承的问题
下一个:delphi 中关于控件AODTable的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,