余分な改行記号を効率よく消すには

紙の原稿からOCRで電子データを生成したときに、各行の右側に余分な改行が入ってしまうことがあります。

この改行は、Word上で段落記号([Enter] キーを押すと入力される)として表示されるコードのこともあれば、ソフトリターン([Shift]+[Enter]で入力される縦矢印)のこともあります。

この改行を上手に消す方法はないかという質問が、西日本セミナーの席上であがりました。時間の都合でひとつだけしか実演できませんでしたので、パターンごとにいくつか方法を示してみたいと思います。

----------------------------------------------------------------
【例1】
段落の頭に全角スペースやタブなどの字下げがあり、データが全角文字で構成され、行末にソフトリターンがあるとき

◆データ形式◆
□ああああああああああああ
あああああああああああああ
□ああああああああああああ
あああああああああああああ

◆Wordの置換画面◆

検索する文字列:^11([0-9A-Za-zぁ-ゞァ-ヾΑ-Ωα-ω亜-K])
置換後の文字列:\1

ワイルドカードにチェックを付けて置換を実行します。

^11 はソフトリターンの意味です。段落記号の場合は^13 を使います。
「0-9A-Za-zぁ-ゞァ-ヾΑ-Ωα-ω亜-K」は、全角の0〜9、A〜Z、a〜z、平仮名、カタカナ、ギリシャ文字、漢字を意味します。
必要がない範囲については適宜カットして利用できます。

これで、ソフトリターンの後ろに「全角文字」が続いている部分の改行だけが削られます。全角スペースやタブが続く改行は削られません。

なお、「K」は「黒」とは違いますので注意してください。

----------------------------------------------------------------
【例2】
例1のパターンで、データが半角文字で構成されているとき

検索する文字列の[ ]の中を半角の0-9A-Za-zに変更し、あとは同じです。

----------------------------------------------------------------
【例3】
段落の頭に字下げがあり、行末にソフトリターンがあるとき

◆データ形式◆
□ああああああああああああ
あああああああああああああ
□ああああああああああああ
あああああああああああああ

◆Wordの置換画面◆

検索する文字列:^11□
置換後の文字列:^13□

※□は全角スペースの意味です。

これで次のような形になります。

□ああああああああああああ(ソフトリターン)
あああああああああああああ(段落記号)
□ああああああああああああ(ソフトリターン)
あああああああああああああ(ソフトリターン)

検索する文字列を^11 、置換後の文字列を空白にして置換を実行すれば段落途中の改行だけを消すことができます。

この方法だと、ワイルドカードを使わずに置換が可能です。
また、データが全角か半角かも問いません。字下げがタブの場合は全角スペースの代わりに^9を使えばOKです。

また、各行末がソフトリターンではなく段落記号の場合は、^11と^13を入れ替えれば同じことができます。

----------------------------------------------------------------
【例4】
段落の頭に字下げがなく、行末にソフトリターンがあるとき

段落間の区別がつかないので、ある程度は人手による作業が必要です。
段落の区切りになる部分に、何でもよいので区切りを示す文字を入れていきます。

◆データ形式◆
ああああああああああああ(ソフトリターン)
ああああああああああああ(ソフトリターン)
ああああああああああああ(ソフトリターン)
ああああああああああああ(ソフトリターン)



ああああああああああああ(ソフトリターン)
ああああああああああああ(ソフトリターン)
★(段落記号)
ああああああああああああ(ソフトリターン)
ああああああああああああ(ソフトリターン)

このとき、各行末がソフトリターンなら区切り文字の改行は段落記号、行末が段落記号なら区切り文字の改行を使うようにすると、次に一括置換を利用できるので便利です。

BACK