上付/下付を含む文字列の置換

少し前に、化学関係の翻訳をなさっている方から、R1やX1などの数字1を上付きにする簡単な方法はないかという質問を頂きました。

アルファベットと上付にしたい数字との組み合わせ数が少なければ、以前コラムで書いた「^c」による置換を利用する方法がひとつです。一方、組み合わせが多いときは、たとえば下のような条件式で置換することができます。

以下は上付部分に数字しか出てこない場合の例です。

検索する文字列
 ([0-9]{1,})
→書式に「上付」を指定

置換後の文字列
[sup.\1]

ワイルドカード置換を実行します。

これならば、たとえば作業の途中でWordからテキストファイルに変換する必要が出て上付が落ちても、Wordに戻したときに次のワイルドカード置換で上付に戻せます。

検索する文字列
[sup.([0-9A-Za-z]{1,})]

置換後の文字列
\1
 →書式に上付を指定

上付にアルファベットも入るのであれば、([0-9A-Za-z]{1,}) といった具合で書けばよいかと思います。下付は、sup.の代わりにsub.を使って対応できます。

BACK