0

私は最近、文書を HTML に変換するプロジェクトに取り掛かりました。つまり、クライアントから .DOC ファイルが渡され、そのコンテンツを 1 つの長い HTML ファイルに変換する必要があります。スタイル設定も CSS も不要で、段落タグ、ヘッダー タグ タグなどを含むきれいな HTML だけです。

最初の部分をうまく自動化してくれるアプリケーションを見つけました。問題は、変数を使用して文字列に基づいて高度な検索と置換を行う必要があることです。

たとえば、適切に変換された脚注があります。それらは現在、上付き数字として表示され、

脚注の表示方法を変更したい。6 番目の脚注の上付き数字 6 の代わりに、表示したい (注 6)

ドキュメント全体(何百もの脚注)でそれを行うには、次のようなことができるかどうか疑問に思っています。

探す:

<sup><a name="FN[0-9]" href="FNR[0-9]">[0-9]</a></sup>

交換:

<a name="FN%1" href="FNR%2">(Note %3)</a>

問題は、置換領域で変数を維持できる検索と置換ツールが見つからないことです。私が得るのは、(Note %3) として表示される上付き文字 6 と、同じことを行う他のすべての脚注だけです。

自分のタスクを効率的に達成する方法について誰かアイデアがありますか?

4

1 に答える 1

0

Perl では、コマンド ラインで大まかに次のようになります (これはテストしていません)。

perl -i -p -e's{<sup><a name="(FN\d)" href="(FNR\d)">(\d)</a></sup>}{<a name="$1" href="$2">(Note $3)</a>}' filenames....

-i「このファイルをその場で編集-pする」とは、「スイッチにあることをすべて行った後に各行を印刷する」ことを意味し-eます。

それは、あなたが持っている1桁だけを探していると仮定しています[0-9]. FN427 に一致させたい場合は、たとえば に変更(FN\d)します。(FN\d+)

これは、解析している HTML がまさにそのように見えることも前提としています。(属性の順序が逆になっている) HTMLを取得する<a href=... name=...と、壊れます。その場合、HTML パーサーを使用する必要があります。

これで十分に開始できることを願っています。

于 2012-11-14T19:24:28.720 に答える