Type
Tdelflags = set of (Dfdelbefore, dfdelafter);
Remove a part of a string that precedes or follows a ENDSTR substring in an MS string
Procedure delstr(var ms:string; endstr:string; Flags:tdelflags;
Bself:boolean = True);
Var
L:integer;
Begin
L: = Length (ENDSTR);
If POS (Ansilowercase (ENDSTR), Ansilowercase (ms)) =0 Then
Begin
Exit
End
If Dfdelbefore in the Flags then
Begin
If Bself Then
Delete (MS, 1, POS (Ansilowercase (ENDSTR), Ansilowercase (ms)) + L-1)
Else
Delete (MS, 1, POS (Ansilowercase (ENDSTR), Ansilowercase (ms))-1)
End
Else
Begin
If Bself Then
Delete (MS, POS (ansilowercase (ENDSTR), Ansilowercase (ms)), Length (ms))
Else
Delete (MS, POS (ansilowercase (ENDSTR), Ansilowercase (ms)) + L, Length (ms))
End
End
Intercepts a partial string between two strings (STR1 and str2) from the SRC main string
function Getcenterstr (src, str1, str2:string): string;
Var
I, I2, I3:integer;
Begin
I: = 0;
I2: = 0;
i3: = 0;
delstr (SRC, str1, [Dfdelbefore]);
I: = pos (Ansilowercase (STR1), ansilowercase (SRC));
i3: = pos (Ansilowercase (STR2), ansilowercase (SRC));
Result: = Copy (src, I2 + 1, i3-i2-1);
End
Delphi Deletes a partial string (case insensitive)