我有一些这样的文本文件:
proc p0
ans12=2
do while ans12#1
* set print to "lp -dACCPRN"
clos data
@0,0 clea
@3,36,21,65 box
@3,4,21,32 box
@4 ,40 prom ' 0šø¤‹‹¡ ' &&1
@6 ,40 prom ' ù‹ê‘‹® ' &&2
@7 ,40 prom ' –‘“¨‘Ÿõ ¤÷–‘Ÿþ®ø—¢ø¤ø ' &&3
@8 ,40 prom ' ù¢û‘‹‹ªõ ' &&4
@9 ,40 prom ' žò‹‹‹¬ ' &&5
现在我需要搜索所有文本文件并提取引号之间的文本
结果将是:
' 0šø¤‹‹¡ '
' ù‹ê‘‹® '
' –‘“¨‘Ÿõ ¤÷–‘Ÿþ®ø—¢ø¤ø '
' ù¢û‘‹‹ªõ '
' žò‹‹‹¬ '
答案 0 :(得分:3)
您可以使用函数从每一行中滤除引用的文本:
function TextBetweenQuotes( const s : String; quoteChar : Char) : String;
var
p,p1 : Integer;
begin
Result := '';
p := Pos(quoteChar,s); // Find first quote char
if p > 0 then begin
p1 := Pos(quoteChar,s,p+1); // find second quote char
if p1 > 0 then begin
Result := Copy(s,p,p1-p+1); // Copy text between quotes, including quotes
end;
end;
end;
如果您使用的是较旧的Delphi版本,该版本在Pos()函数中不支持可选的offset参数,请改用StrUtils.PosEx()。