Leerer String - Empty string

In der formalen Sprachtheorie ist die leere Zeichenfolge oder das leere Wort die eindeutige Zeichenfolge der Länge Null.

Formale Theorie

Formal ist ein String eine endliche, geordnete Folge von Zeichen wie Buchstaben, Ziffern oder Leerzeichen. Die leere Zeichenfolge ist der Sonderfall, bei dem die Sequenz die Länge Null hat, also keine Symbole in der Zeichenfolge vorhanden sind. Es gibt nur einen leeren String, denn zwei Strings unterscheiden sich nur, wenn sie unterschiedliche Längen oder eine unterschiedliche Zeichenfolge haben. In formalen Behandlungen wird die leere Zeichenfolge mit ε oder manchmal Λ oder λ bezeichnet .

Der leere String sollte nicht mit der leeren Sprache verwechselt werden , die eine formale Sprache (dh eine Menge von Strings) ist, die keine Strings enthält, nicht einmal den leeren String.

Der leere String hat mehrere Eigenschaften:

In kontextfreien Grammatiken wird eine Produktionsregel , die es einem Symbol ermöglicht, die leere Zeichenfolge zu produzieren, als ε-Produktion bezeichnet, und das Symbol wird als "nullfähig" bezeichnet.

Verwendung in Programmiersprachen

In den meisten Programmiersprachen sind Strings ein Datentyp . Strings werden normalerweise an unterschiedlichen Speicherorten gespeichert . Dies bedeutet, dass dieselbe Zeichenfolge (z. B. die leere Zeichenfolge) an zwei oder mehr Stellen im Speicher abgelegt werden könnte.

Auf diese Weise könnten im Gegensatz zur formalen Theoriedefinition mehrere leere Zeichenfolgen im Speicher vorhanden sein, für die es nur eine mögliche leere Zeichenfolge gibt. Eine Zeichenfolgenvergleichsfunktion würde jedoch anzeigen, dass alle diese leeren Zeichenfolgen einander gleich sind.

Selbst eine Zeichenfolge der Länge Null kann je nach verwendetem Format Speicher zum Speichern benötigen. In den meisten Programmiersprachen unterscheidet sich die leere Zeichenfolge von einer Nullreferenz (oder einem Nullzeiger), da eine Nullreferenz auf keine Zeichenfolge zeigt, nicht einmal auf die leere Zeichenfolge. Der leere String ist ein legitimer String, mit dem die meisten String-Operationen funktionieren sollten. Einige Sprachen behandeln einige oder alle der folgenden Elemente auf ähnliche Weise: leere Zeichenfolgen, Nullreferenzen, die ganze Zahl 0, die Gleitkommazahl 0, den booleschen Wert false , das ASCII- Zeichen NUL oder ähnliche Werte.

Der leere String wird normalerweise ähnlich wie andere Strings dargestellt. In Implementierungen mit String-Abschlusszeichen ( nullterminierte Strings oder Klartextzeilen) wird die leere Zeichenfolge durch die sofortige Verwendung dieses Abschlusszeichens angezeigt.

λ Vertretung Programmiersprachen
"" C , C# , C++ , Go , Haskell , Java , JavaScript , Julia , Lua , M , Objective-C (als C-String), OCaml , Perl , PHP , Python , Ruby , Scala , Standard ML , Swift , Tcl , Visual Grundlegendes .NET
'' APL , Delphi , JavaScript , Matlab , Pascal , Perl , PHP , Python , Ruby , Smalltalk , SQL
{'\0'} C , C++ , Objective-C (als C-String)
std::string() C++
""s C++ (seit dem 2014er Standard )
@"" Objective-C (als konstantes NSStringObjekt)
[NSString string] Objective-C (als neues NSStringObjekt)
q(), qq() Perl
str() Python
%{}
%()
Rubin
string.Empty C# , Visual Basic .NET
String.make 0 '-' OCaml
{} Tcl
[[]] Lua

Beispiele für leere Zeichenfolgen

Die leere Zeichenfolge ist eine syntaktisch gültige Darstellung von Null in Positionsnotation (in jeder Basis), die keine führenden Nullen enthält . Da die leere Zeichenfolge außerhalb der formalen Sprachtheorie keine standardmäßige visuelle Darstellung hat, wird die Zahl Null traditionell stattdessen durch eine einzelne Dezimalziffer 0 dargestellt .

Ein mit Nullen gefüllter Speicherbereich, der als nullterminierter String interpretiert wird , ist ein leerer String.

Leere Textzeilen zeigen die leere Zeichenfolge. Dies kann von zwei aufeinanderfolgenden EOLs ausgehen , wie es oft in Textdateien vorkommt , und wird manchmal in der Textverarbeitung verwendet , um Absätze zu trennen , zB in MediaWiki .

Siehe auch

Verweise