字符查找找出字符中头尾标志的并取出来
如字符‘@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#如何取得字符‘@,1,2,3,4,5,6#和@2,3,4,5,6#和@3,4,5,6#
[解决办法]
procedure TForm1.btn1Click(Sender: TObject);
const
str = '@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#';
var
sLi: TStringList;
s1, s2, s3: String;
begin
sli := TStringList.Create;
ExtractStrings(['@'], [], str, sLi);
s1 := '@' + sLi[sLi.count - 3]; // @,1,2,3,4,5,6#
s1 := '@' + sLi[sLi.count - 2]; // @2,3,4,5,6#
s3 := '@' + sLi[sLi.count - 1]; // @3,4,5,6#
sLi.Free
end;
function GetStr(StrSource, StrBegin, StrEnd: string): string;
var
in_star,in_end : integer;
strtmp : string;
begin
in_star:=AnsiPos(strbegin,strsource)+length(strbegin);
strtmp:=copy(strsource,in_star,length(strsource));
in_end:=AnsiPos(strend,strtmp);
result:=copy(strsource,in_star,in_star + in_end-in_star -1);
end;
getstr(str,'@','#');
with TPerlRegEx.Create do
try
Subject := '@,1,2,3,4,5,6#@2,3,4,5,6#@3,4,5,6#';
RegEx := '(@.*?#)';
while MatchAgain do
ShowMessage(Groups[1])
finally
Free
end;