コンピュータ分野において、テキスト処理という用語は、電子テキストの作成または操作を自動化する理論と実践を指します。 テキストとは通常、その作業を行う人のキーボードで指定されるすべての英数字を指しますが、一般的には、対象テキストの標準文字エンコーディングのすぐ上の抽象化レイヤーを意味します。処理という用語は、手動で行われる操作とは対照的に、自動化された(または機械化された)処理を指します。
テキスト処理には、コンテンツ、コンテンツの変更、カーソル移動などを呼び出すコンピュータコマンドが含まれます。
正規表現によるテキスト処理は、仮想編集マシンであり、名前付きレジスタ(識別子)と、テキストを構成する文字シーケンス内の名前付き位置を持つ原始的なプログラミング言語を備えています。これらを使用することで、「テキストプロセッサ」は、例えばテキストの領域をマークし、それを移動することができます。ユーティリティによるテキスト処理は、フィルタプログラム、またはフィルタです。これら2つのメカニズムがテキスト処理を構成します。
ANSIエスケープコードなどの標準化されたマークアップは、一般的にエディタからは見えないため、一時的な特性の集合体であり、時にはワープロ処理と区別がつかなくなる。しかし、ワープロ処理との明確な違いは、テキスト処理本来の以下の点にある。
このように、フォントや色などのマークアップは、実際には区別要因にはなりません。なぜなら、フォントや色に影響を与える文字シーケンスは、バックグラウンドのテキスト処理モードによって自動的に挿入される標準文字にすぎず、対応テキストエディタによって透過的に動作するものの、そのモードが有効でない場合にはテキスト処理コマンドとして表示されるからです。したがって、テキスト処理は、標準的でありながら目に見えない文字ではなく、視覚的な文字(または文字素)を中心に(完全にではないものの)最も基本的なレベルで定義されます。
コンピュータによるテキスト処理の開発は、クリーネが正規言語とは何かを形式化したことから本格的に始まった。正規表現は、その言語が拡張されると、コンパイルプロセスを備えたミニプログラムとなり、あらゆる編集を実行できるようになった。同様に、フィルタも特定のオプションを進化させることで拡張される。
エディタは基本的に入力ストリームを呼び出し、それをコマンドシェルまたはテキストエディタであるテキスト処理環境に送ります。結果として得られる出力は、さらなるテキスト処理に適用可能であり、その最終結果は、より高度で構造化されたコンピュータプログラムによって一度だけ適用されるアルゴリズムの単一の適用結果に匹敵します。
テキスト処理は、アルゴリズムとは異なり、パターンとアクションの式やフィルタリング機構といった、より単純なマクロを手動で連続して実行するものです。いずれの場合も、プログラマーの意図は、テキスト処理の過程で、特定のテキスト文字セットに間接的に反映されます。テキスト処理の結果は、必ずしも期待通りとは限らず、正規表現やマークアップ言語の詳細、あるいはユーティリティオプションを完全に習得するまで、視覚的なフィードバックを通して、試行錯誤を繰り返すことがよくあります。
テキスト処理は、主にコンピューティングの最高レベルでテキスト文字を生成することに関係しており、その活動は、コンピューティングの実用的な用途、つまり情報の手動伝達のすぐ下に位置する。
究極的には、すべてのコンピューティングはテキスト処理である。自己コンパイル型のアセンブラのテキスト文字から、グラフィックデータの塊を処理するために生成される自動プログラミング言語、そして既存のテキスト文書を整形する正規表現のメタ文字に至るまで、すべてテキスト処理である。
テキスト処理はそれ自体が自動化されたものである。
テキスト文字は標準化された文字セットで構成されており、改行文字などの制御文字も含まれています。これらの制御文字はテキストのレイアウトを調整します。その他の制御文字は、伝送のレイアウト、文字セットの定義、その他の管理業務などを行います。