我想寫一個函數來提取兩個標籤之間的字符串。 問題是第一個標記在該字符串中是重複的,並且計數未知德爾福 - 提取標籤之間的字符串(重複標籤)
Str := 'Delphi App Hello Hello SomeText here Hello Hello Hello This is a Test!';
我要的究竟是提取你好這是一個測試!
- TagF是最後你好字
- TAGL是測試!
TagF它的隨機重複計數。
Function sExtractBetweenTagsB(Const s, LastTag, FirstTag: string): string;
var
i, f : integer;
sTemp : string;
begin
sTemp := s;
repeat
Delete(sTemp,Pos(FirstTag, sTemp),length(FirstTag));
until AnsiPos(FirstTag,sTemp) = 0;
f := Pos(LastTag, sTemp);
Result:= FirstTag+' '+Copy(sTemp, 1, length(sTemp));
end;
輸出是:
Hello Delphi App SomeText here This is a Test!
嘗試'LastDelimiter'功能 – MBo
@Mbo:雖然方便,我寧願用'PosEx'停留在32位,因爲它具有同時'LastDelimiter一個Fastcode優化'沒有。 – whosrdaddy