形式的には、文字列とは文字、数字、スペースなどの文字の有限で順序付けられたシーケンスです。空文字列は、シーケンスの長さがゼロである特殊なケースであり、文字列には記号がありません。2つの文字列は長さが異なるか、記号のシーケンスが異なる場合にのみ異なるため、空文字列は1つしかありません。形式的な扱いでは、[ 1 ]空文字列はε、または場合によってはΛまたはλで表されます。
空文字列は、空言語∅と混同してはならない。空言語∅は、文字列を一切含まない形式言語(つまり文字列の集合)であり、空文字列さえも含まない。
空文字列にはいくつかの特性があります。
文脈自由文法において、記号が空文字列を生成することを可能にする生成規則はε生成規則と呼ばれ、その記号は「空文字列生成可能」であると言われる。
ほとんどのプログラミング言語では、「文字列」という用語はデータ型のインスタンスを指すことが多く、したがって形式理論における文字列とは異なる概念です。このような文字列は通常、異なるメモリアドレス(場所)に格納されるため、固有の識別子を持ちます。したがって、同じ形式文字列(例えば、空文字列)の表現は、メモリ内の2つ以上の場所に格納されることがあり、それらは形式的な空文字列の名前として扱われます。
このように、メモリ上には空文字列の複数の表現が存在する可能性がある。これは、形式理論における定義(空文字列は1つしか存在しない)とは対照的である。しかし、「文字列比較関数」によれば、これらの表現はすべて互いに等しいとみなされる。
長さがゼロの文字列でも、使用するフォーマットによってはメモリが必要になる場合があります。ほとんどのプログラミング言語では、空文字列はヌル参照(またはヌルポインタ)とは異なります。ヌル参照は、空文字列を含め、どの文字列も指していないからです。 空文字列は正当な文字列であり、ほとんどの文字列操作が機能します。一部の言語では、空文字列、ヌル参照、整数 0、浮動小数点数 0、ブール値false、ASCII文字NUL、その他の同様の値の一部またはすべてを同様の方法で扱います。
空文字列は通常、他の文字列と同様に表現されます。文字列終端文字(ヌル終端文字列またはプレーンテキスト行)を使用する実装では、空文字列は終端文字を直後に使用することで示されます。
文字列が空かどうかを確認するための関数、メソッド、マクロ、または慣用表現は、プログラミング言語によって異なります。
空文字列は、先頭にゼロを含まない位置表記(任意の基数)におけるゼロの構文的に有効な表現です。形式言語理論以外では空文字列に標準的な視覚的表現が存在しないため、数値ゼロは慣習的に1桁の10進数「0」で表されます。
ゼロで埋められたメモリ領域は、ヌル終端文字列として解釈され、空文字列になります。
空の行は空の文字列を表示します。これは、テキストファイルでよく見られるように、連続する2つの改行文字によって発生します。これは、 MediaWikiなどのテキスト処理において、段落を区切るために使用されることがあります。
""。character(0)は空の文字ベクトルを作成し、カウントすると 0 が出力されます。PowerShell では、スマート引用符 (タイポグラフィ引用符またはカーリー引用符とも呼ばれます) を文字列の通常の引用符として扱います。文字列を囲むためにスマート引用符を使用しないでください。
"Hello, world„は有効です。ギユメはサポートされていません。ここで示されているドイツ語スタイルの低位単一引用符はU+201A ‚ SINGLE LOW-9 QUOTATION MARKであることに注意してください。似たような文字U+002C , COMMA は引用符として機能しません。PowerShell の公式ドキュメントでは、ストレート引用符の使用を推奨しています。 [ 6 ]