В формальной теории языка пустая строка или пустое слово — это уникальная строка нулевой длины.
Формально строка — это конечная упорядоченная последовательность символов, таких как буквы, цифры или пробелы. Пустая строка — это особый случай, когда последовательность имеет нулевую длину, поэтому в строке нет символов. Существует только одна пустая строка, поскольку две строки различаются только в том случае, если они имеют разную длину или разную последовательность символов. В формальном изложении [1] пустая строка обозначается ε или иногда Λ или λ .
Пустую строку не следует путать с пустым языком ∅ , который является формальным языком (т. е. набором строк), не содержащим ни одной строки, даже пустой строки.
Пустая строка имеет несколько свойств:
В контекстно-свободных грамматиках правило продукции , позволяющее символу производить пустую строку, называется ε-продукцией, а символ называется «обнуляемым».
В большинстве языков программирования строки являются типом данных . Строки обычно хранятся в различных адресах памяти (местоположениях). Таким образом, одна и та же строка (например, пустая строка) может храниться в двух или более местах памяти.
Таким образом, в памяти может быть несколько пустых строк, в отличие от формального определения теории, для которого существует только одна возможная пустая строка. Однако функция сравнения строк укажет, что все эти пустые строки равны друг другу.
Даже строка нулевой длины может потребовать памяти для хранения, в зависимости от используемого формата. В большинстве языков программирования пустая строка отличается от нулевой ссылки (или нулевого указателя), поскольку нулевая ссылка не указывает ни на какую строку, даже на пустую строку. Пустая строка является допустимой строкой, с которой должно работать большинство строковых операций. Некоторые языки обрабатывают некоторые или все из следующих значений аналогичным образом: пустые строки, нулевые ссылки, целое число 0, число с плавающей точкой 0, логическое значение false , символ ASCII NUL или другие подобные значения.
Пустая строка обычно представляется аналогично другим строкам. В реализациях с символом завершения строки ( строки с нулевым завершением или строки обычного текста) пустая строка обозначается непосредственным использованием этого символа завершения.
Для проверки строки на пустоту в разных языках существуют различные функции, методы, макросы или идиомы . [ нужен пример ]
Пустая строка является синтаксически допустимым представлением нуля в позиционной нотации (в любой базе), которая не содержит начальных нулей . Поскольку пустая строка не имеет стандартного визуального представления за пределами формальной теории языка, число ноль традиционно представляется одной десятичной цифрой 0 .
Область памяти, заполненная нулями, интерпретируемая как строка с завершающим нулем , является пустой строкой.
Пустые строки текста показывают пустую строку. Это может произойти из-за двух последовательных EOL , как это часто происходит в текстовых файлах , и это иногда используется при обработке текста для разделения абзацев , например, в MediaWiki .
""
. character(0)
создает пустые векторы символов, которые при подсчете выведут 0.