空白を無視するテキスト比較:行内の空白や改行との違い
行頭と行末の空白を無視する設定は、各行の端の比較方法だけを変えます。文中のスペースを無視したり、複数行を結合したりする機能ではありません。
CompareText · 更新日
入力と出力の例
alpha hello world
alpha hello world
無視する空白の範囲
設定を有効にすると各行にtrim()を適用して一致を判定します。対象はJavaScriptのtrimで除去できる行頭・行末の空白で、通常のスペースやタブを含みます。表示には元の入力を使うため、テキスト自体は書き換えません。
行の途中のスペースは残る
下の例の1行目はalphaの前後の空白だけが異なります。2行目はhelloとworldの間が左で1個、右で2個のスペースです。通常は両行に差分が出ますが、空白を無視すると1行目だけが一致し、2行目は異なるままです。
改行コードと空行を区別する
CRLF、CR、LFは比較前にLFに統一されます。同じ内容でWindowsとUnixの改行コードだけが違う場合は一致します。ただし、alphaと末尾に改行のあるalphaは、後者に空行が一つ多いため異なります。空白を無視しても空行は削除しません。
比較とテキスト整理は別の操作
文章の変更だけを確認したいときは空白を無視し、空白を除いた新しいテキストが必要なら空白整理を使います。整理機能が行頭・行末から削除するのは通常のスペースとタブだけで、trim()より範囲が狭い点に注意してください。
コードの字下げは見落とさない
Python、YAML、Markdownでは字下げが構造や意味を変えることがあります。空白の差分を残して確認し、対応するパーサーやテストでも検証してください。テキスト比較だけでは構文の正しさは判定できません。