【ワイルドカード】段落番号後のスペース数チェック

【ワイルドカード】段落番号後のスペース数チェック

広告

特許翻訳では段落番号後の扱いも、顧客によってスタイルがいろいろあるようですが、1つの例として、段落番号後に指定された数だけ半角スペースが入っているかをチェックするためのワイルドカードを記述してみます。

例)【指示内容】段落番号後に半角スペースを4つ入れる(英文)

この指示に合わないケースを検出するために、以下のようなワイルドカードを考えてみました。

\[[0-9]{4}\][ ]{1,3}[! ]

段落番号[nnnn]に該当する部分が¥[[0-9]{4}¥]です。その後に半角スペースが1〜3つあり([ ]{1,3})、その後に半角スペースでないもの([! ])があると、検索にヒットします。

つまり・・・
 [0123] The ... (スペース1こ)
 [0123]  The ... (スペース2こ)
 [0123]   The ... (スペース3こ)
 という組合せがヒットします。

じゃぁ、スペースが5つ以上あるものは?・・・という疑問が湧きますね。このワイルドカードではスペースが1つ〜3つまでのものしかヒットしません。5つ以上あるものをヒットさせるには、以下のような記述をします。

\[[0-9]{4}\][ ]{5,}[! ]

誰か1文で検索する方法をご存じないでしょうか? WildLightであれば、これらの2文を辞書ファイルへ記述しておけば一度に検出可能です。

なお、半角スペースの数がn個あることをチェックしたい場合は、nから1引いた数をm、nに1加えた数をpとして以下の記述にそれぞれ代入してください。

\[[0-9]{4}\][ ]{1,m}[! ]
\[[0-9]{4}\][ ]{p,}[! ]

強制的に置換してしまう場合

なお、2度も検索掛けるのは大変だから、スペースの数に関係なく一度の置換作業で一律に規定数のスペースを入れてしまえという荒っぽいやり方もできます。上記の例のように段落番号の後に半角スペースを4つ、強制的にいれてしまうワイルドカードは、以下のようになります。

検索する文字列

(\[[0-9]{4}\])[ ]@([! ])

置換後の文字列(¥1と¥2の間は半角スペース4つです)

\1 \2

日本語の場合

ちなみに日本語の場合は、以下のようになります。全角スペース4つを例として記述します。
スペースが4つ以外のものを検索するには:

【[0-9]{4}】[ ]{1,3}[! ]
【[0-9]{4}】[ ]{5,}[! ]

強制的に置換してしまうなら:

検索する文字列

(【[0-9]{4}】)[ ]@([! ])

置換後の文字列

\1    \2

 

【ワードマクロ】ワード文書から個人情報を削除する

小技の森ブログに「Office文書から個人情報を削除する」という記事がアップされました。

企業で仕事をされている方は、特に注意を払う必要がありますが、オフィス文書に記録されている個人情報が、意図せずそのまま外部へ流れてしまうことは、情報セキュリティ上、あまり好ましいものではありません。

私の場合、外部の翻訳者さんへ仕事を依頼する時や、お客様へ翻訳物を納品する前に、必ず、ワード文書から個人情報を削除してから送付しています。

そのために以下のような簡単なワードマクロを使っています。

Sub RemoveDocInfo()
ActiveDocument.RemoveDocumentInformation (wdRDIDocumentProperties)
ActiveDocument.RemoveDocumentInformation (wdRDIRemovePersonalInformation)
End Sub

もちろん、先述のブログ記事に従って手作業で削除しても良いですが、業務効率や品質保証の観点で見た場合、細々した作業もマクロ化しておく方が何かと便利で、私は小さなマクロをたくさん作ってストックしてあります。

そのメリットを私は以下のように考えています。

  1. 1〜2ステップで作業を完結できる。
    メニューを辿って実行できる操作も、数ステップの作業を必要としますが、マクロであれば、1〜2ステップで作業を完結できるというメリットがあります。
  2. 自分の翻訳プロセスに合ったマクロセットを作れる。
    小さなマクロを組み合わせて、翻訳プロセスに沿ったマクロセットを作り、一括処理できる。

「うっかり忘れた」を無くすために、納品前最終チェックで実行するマクロセットに、このマクロを盛り込んでおけば、確実かつ効率的に実施されて便利です。