テキスト比較ガイド

空白を無視するテキスト比較:行内の空白や改行との違い

行頭と行末の空白を無視する設定は、各行の端の比較方法だけを変えます。文中のスペースを無視したり、複数行を結合したりする機能ではありません。

テキストを比較する

入力と出力の例

元のテキスト
  alpha  
hello world
変更後のテキスト
alpha
hello  world
01

無視する空白の範囲

設定を有効にすると各行にtrim()を適用して一致を判定します。対象はJavaScriptのtrimで除去できる行頭・行末の空白で、通常のスペースやタブを含みます。表示には元の入力を使うため、テキスト自体は書き換えません。

02

行の途中のスペースは残る

下の例の1行目はalphaの前後の空白だけが異なります。2行目はhelloとworldの間が左で1個、右で2個のスペースです。通常は両行に差分が出ますが、空白を無視すると1行目だけが一致し、2行目は異なるままです。

03

改行コードと空行を区別する

CRLF、CR、LFは比較前にLFに統一されます。同じ内容でWindowsとUnixの改行コードだけが違う場合は一致します。ただし、alphaと末尾に改行のあるalphaは、後者に空行が一つ多いため異なります。空白を無視しても空行は削除しません。

04

比較とテキスト整理は別の操作

文章の変更だけを確認したいときは空白を無視し、空白を除いた新しいテキストが必要なら空白整理を使います。整理機能が行頭・行末から削除するのは通常のスペースとタブだけで、trim()より範囲が狭い点に注意してください。

05

コードの字下げは見落とさない

Python、YAML、Markdownでは字下げが構造や意味を変えることがあります。空白の差分を残して確認し、対応するパーサーやテストでも検証してください。テキスト比較だけでは構文の正しさは判定できません。