これは本当に基本的なことだと確信しています。しかし、私はPerlの知識がなく、これを1回だけ使用する必要があります。何卒ご理解とご協力を賜りますようお願い申し上げます。
以下のHTML形式の1行から不要なテキストを削除しようとしています。
<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>)
見てくれてありがとう。