我很确定这真的很基本。但是我不了解 Perl,只需要使用它一次。所以我很感谢你的耐心。
我正在尝试从 HTML 中的单行中删除不需要的文本:
<a target="_blank" href="http://sharepoint/sites/cerner/quickreferenceguides/Documents/EXP001_Run_Printable_TCI_List.pdf" onmouseover="return overlib('This guide outlines the process for running a printable TCI List', CAPTION, 'TCI LIST');" onmouseout="return nd();">Run Printable TCI List (<i>Revised<i>)</a>
我想要留下的Run Printable TCI List (<i>Revised</i>)
只是</a>
. 我有大约 500 行这样的行,因为它们将来可能会改变,所以创建一个程序是有意义的。到目前为止,以下是我的 Perl 代码:
open (SEARK, 'C:\\HTMLsorter\\sources.txt');
open (OUTSEARK, '>C:\\HTMLsorter\\outseark.txt');
while(<SEARK>) {
chomp;
if ($_=~/<a target/) {
$_ =~ s/\<i>//g;
$_ =~ s/\<\/i>//g;
@itemsa = split(/>/);
@itemsb = split(/</, $itemsa[1]);
print OUTSEARK ("$itemsb[0]\n");
}
}
close (SEARK);
close (OUTSEARK);
我相信您可以阅读此内容,但只是为了解释我正在打开一个名为的文件sources.txt
,其中有 500 行要排序。输出文件将是outseark.txt
. 到目前为止,它将输出:
Run Printable TCI List (Revised)
这显然是由于针对箭头内部和周围的所有东西的分裂。任何想法如何将斜体保持在括号内?留下:
Run Printable TCI List (<i>Revised<i>)
感谢您的关注。