А что, это приципиально чтоб через РВ парсить, может "обычный" разбор строки подойдет?
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | var
s, v: string ;
i: integer ;
sl: TStrings;
flg1, flg2: boolean ;
begin
flg1:= false ;
sl:= TStringList . Create;
sl . Clear;
v:= '' ;
s:= Memo1 . Text;
for i := 1 to Length(s)- 1 do
begin
if (flg1) and (flg2) and (s[i]+s[i+ 1 ] = ' |' ) then
begin
if pos( 'Dialog[1]:' , v) > 0 then sl . Add(v);
v:= '' ;
flg1:= false ;
flg2:= false ;
end ;
if (flg1) and (s[i] = '|' ) then flg2:= true ;
if (flg1) and (s[i] <> '|' ) and (s[i] <> # 13 ) then v:= v + s[i];
if s[i]+s[i+ 1 ]+s[i+ 2 ]+s[i+ 3 ]+s[i+ 4 ]+s[i+ 5 ] = ' Nick:' then flg1:= true ;
end ;
memo2 . Lines . Assign(sl);
sl . Free;
end ;
|
Результат:
Цитата:
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Egor_Ucenko Dialog[1]: 77mumamo
Nick: Daiki_Fukuda Dialog[1]: P2KH5K
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Eva_Prieto Dialog[1]: vsirfyjheirf
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Tony_Newman Dialog[1]: gsh123456789
Nick: Ilja_Kiriloff Dialog[1]: qwerty3131
|