これは本当に基本的なことです。しかし、私はPerlを知らず、これを一度だけ使う必要があります。だから私はあなたの忍耐を感謝します。Perlスクリプトが1つのファイルから出力ファイルに単語を削除する
私は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>
私が残ることにしたいすべてが</a>
前最後のテキストであるRun Printable TCI List (<i>Revised</i>)
です。私はこれらの行のうち約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);
私はあなたがこれを読むことができると確信していますが、単にソートする500行が存在する場合、私はsources.txt
と呼ばれるファイルを開封しております説明します。出力ファイルはoutseark.txt
になります。これまでのところ、それはなり出力この:
Run Printable TCI List (Revised)
これは明らかに矢印とその周辺のすべて目指し分割によるものです。どのようにアイコンを角括弧の中に入れておくのですか?残す:
Run Printable TCI List (<i>Revised<i>)
ありがとうございます。
私は質問を理解していません。サンプルデータに適用すると、あなたのコードは、あなたが必要と言う出力(二重引用符を引いたもの)を正確に生成します。後で 's/\ // g'などを追加して自分で修正することはできますか? – Borodin
問題は、理由のためにそこにあったものをのままにしたかったということでした。本当に問題があるかどうかを確認するために、この時点で周りを見ていたので、混乱させて申し訳ありません。ご意見ありがとうございます。 – Marshal
私はあなたの質問を誤解していた理由を今見ています。 StackOverflowのマークアップは、使用したHTMLタグを飲み込んでいたので、表示されたときには表示されませんでした。また、あなたが投稿した2つのサンプル出力文字列は、そのうちの1つの偽の二重引用符とは別に同じものでした。私は自分の投稿を編集して、あなたが思っていると思うものを表示し、新しい解決策を提供するために私の答えに加えました。私の前提が正しいかどうか私に教えてください。 – Borodin