HOMEこのサイトについて新着情報作成編入稿編整理編ソフト関連リンク


テキストデータの形がおかしい時のQ&A

Q7-1 すべての行に改行コードが入っていた。簡単に整理する方法は?

A7-1 大量置換ツールを使えば簡単に整理できる

 行改行テキストを整理するには、削除すべき改行コードと残すべき改行コードを区別した上で、一括削除するのが効果的です。このとき、改行コードの前後の文字とセットで考えるのがポイントです。手順は次の通りです。
  1. 残すべき改行コードを含む文字セットを一旦★など適当な別の文字に置き換える
  2. その他の改行コードをすべて削除する
  3. 先に置き換えた★を元のセットに戻す
 一度に多種の検索・置換が可能な大量置換ツールを使えば、この処理が一発でできます。テキストによっては完全に変換できない場合もあり最終的には目でのチェックが必要ですが、それでもひとつひとつ置換することには比べようもありません。

 ここで問題は、残すべき改行コードをどのように定義するかに尽きます。
 残すべき改行コードは、普通のテキストであれば「改行コード+スペース」または「句読点+改行コード」でしょう。行頭スペースの前は必ず改行コードです。行頭スペースがない時は、句読点の後ろの改行コードは正しい改行と考えられます(しかし、たまたま句読点が行末にきている例外ケースを含むことになります)。
 もちろんテキスト中には見出しや小見出し、箇条書きやインデントなどさまざまな状態がありますから、あらかじめファイルをよく見て検討することが必要です。うまくセットが作れない場合は、適当な記号などを追加してセットを作るのも有効です。

行改行の整理に役立つ次のようなスクリプトがあります。

行改行の整理、大量の検索・置換に役立つ次のようなソフトやスクリプトがあります。

 ※これらは「役立つソフト」のページでも紹介しています。
(記/小国文男、情報/野本夏俊&難波義昭&せん&Ogo)

▲TOP <<BACK


Q7-2 改行コードが一つもなく、すべてが1行のデータになっていた。どうすれば正常に?

A7-2 多くは改行コードの変換で解決する

 すべてが1行のデータになっている場合、その原因の多くは異なるOSで改行コードが違うことによるものです。通信で通常のメール形式で送られてきた場合などによく見られます。これは、改行コードを変換することで解決できます。(参考→ 「Q4-8 MacとWindowsの改行コードの違いとは?」)

 改行コードがLF(UNIX形式)またはCR(Mac形式)のテキストファイルを、CR+LF(DOS形式)を使用するWindowsなどで開けば、改行が全くないか、改行とおぼしきところにスペースが入っているテキストになります。改行コードがLFのファイルを、CRを使用するMacintoshで開いた場合、およびその逆も同様です。
 また、改行コードがCR+LFのファイルをMacintoshで開くと、改行と謎のスペースが入っているテキストになります。CRが普通の改行に、LFがスペースになってしまうからです。Yooeditで開いたときに表示されるヘンな記号(^J)がLFです。

以下のような改行コードを変換するツールやエディタがあります

 ※これらは「役立つソフト」のページでも紹介しています。
(記/小国文男、情報/難波義昭&Ogo)

▲TOP <<BACK


Q7-3 スペースを埋めて改行してあるが、このスペースを簡単に改行コードに変えるには?

A7-3 大量置換ツールで置換するのが簡単

 スペースを使った改行を正しい改行コードに置き換えるには、一度にたくさんの置換ができるツールを使うのが簡単です。これらのツールの多くは、セットの上から順に検索・置換を1回実行する仕様になっています。
 たとえば20字詰めの原稿用紙形式で作ってあるテキストは、連続スペースの最大数は20個(この場合は1行空きとなる)となります。そこで、
20個のスペース→改行コード
19個のスペース→改行コード
18個のスペース→改行コード
……
2個のスペース→改行コード
 という検索・置換のセットを作り、実行すれば簡単に整理できます。もちろん、1〜2個のスペースは行頭や文中に使用されていることがありますから、あらかじめテキストをチェックし、スペースの最小数はそのファイルに適したものにします。

 引用インデントなどで一定の字下げがされているなど、改行コードに置換すべきでないものは、あらかじめ削除したり別の記号に置き換えるなど適切な処理をしておくのがよいでしょう。
 また、全角スペースが半角スペース2個に置き換わっている場合もありますから、これらを統一しておくことも必要です。わかりやすいようにスペースを★などの記号にするのも効果的です。
 これらは、検索・置換セットで先に実行されるように順番を前にしておけば、処理は1回ですみます。もちろん、最終的には目でチェックすることを忘れずに。

大量の検索・置換に役立つ次のようなソフトやスクリプトがあります。
 →Q7-1参照
 ※これらは「役立つソフト」のページでも紹介しています。

(記/小国文男、情報/野本夏俊&せん)

▲TOP <<BACK


Q7-4 引用や箇条書きなどのインデントにスペースが使用されていたが、これをうまく整理する方法は?

A7-4 残すスペースと削除するスペースの区別がポイント

 引用文や箇条書きなどのインデント(字下げ)にスペースが使われていると、文中にスペースを含んだテキストとなります。これをそのままにしておくと、組版時に不都合ですから削除する必要があります。
 ごく普通のテキストで部分的に引用の字下げスペースを含むという場合は、一定数のスペースの一括削除などの荒っぽい方法でもそれほど問題はありません。
 しかし、たとえば箇条書きでは「1 ○○について」など削除してはいけないスペースを多く含むことがあります。整理する上では、残すスペースと削除するスペースの区別がポイ ントです。次のようなTipsがあります。
  1. 大量置換ツールを利用する方法
     箇条書きでは、残すべきスペースが数字や丸数字、括弧数字やアルファベットなどに続くことに注目し、大量置換ツールで「1 →1★」「2 →2★」……などと置換するセットを作ります。その上で残りのスペースを一括削除し、最後に★をスペースに戻すように検索・置換テーブルを組み立てればいいでしょう。箇条書き以外でも基本は同じです。

  2. 正規表現を利用する方法
     大量置換ツールではたくさんの検索・置換セットを作らねばならないので手間ですが、正規表現による検索・置換が利用できるエディタなどでは、少し知識が必要ですが、より簡単にできます。たとえば、
     検索:{[0-9 0-9]}{ } (数字に続くスペースを検索、の意)
     置換:\1★ (最初の対象文字はそのままで次の文字を置換、の意)
     とすれば、数字に続くスペースを★に置換する、ということです。もちろん検索対象はもっと増やせます。この後の処理は前述と同様です。(※注/正規表現の記述方法は、ソフトによって若干の違いがあります)
 ただ、大量置換ツールは正規表現に対応しているものがほとんどなく、正規表現に対応しているものは大量置換できるものが少ないことが難点です。

大量の検索・置換に役立つ次のようなソフトやスクリプトがあります。
 →Q7-1参照

正規表現が利用できる次のようなエディタがあります。

 ※これらは「役立つソフト」のページでも紹介しています。
(記/小国文男、情報/Ogo)

▲TOP <<BACK


Q7-5 ファイルを開いたら段組み編集されて、データは3段分が1行になっていた。打ち直す方が簡単?

A7-5 矩形選択が可能なツールを利用する

 ワープロで段組み編集されたテキストファイルはかなりやっかいもので、一発処理できるソフトやスクリプトは残念ながら見あたりません。
 Tipsとしては、ブロック単位(矩形、箱形)でテキストを選択できるツールを利用するのが効果的です。これらを使って、根気よくコピー&ペーストで別のファイルに順番通りに移し替えて整理します。
 文字の早打ちに自信のある方なら、テキスト量によっては入力し直す方が早い場合もあります。

次のようなソフトやツールがあります。

 ※これらは「役立つソフト」のページでも紹介しています。
(記/小国文男、情報/大橋幸二&せん&Ogo)

▲TOP <<BACK


[BACK]

監 修

データ入稿「困ったちゃん」プロジェクト(C)1998