String


 * This article is about the type. For the API, see String API.

String is a type that represents an immutable sequence of characters.

Literal value
Strings can be used in a program's source code by using a string literal, which is typically indicated by enclosing the desired sequence of characters within a pair of single or double quotes: -- myString and myOtherString are variables that hold a string value local myString = "Hello world!" local myOtherString = 'Hola mundo!'

Character escaping
), the delimiter used to open/close the literal ( or  ), or to specify specific characters by their numeric code (e.g.   for space), such characters must be prepended with a backslash, and to use a backslash literally, escape it with another backslash:



Multiline literals
The above method of expressing a string literal is for single-line usage only, for a multi-line string literal, begin the sequence with and terminate it with :

One thing to note is that when using the multiline literal, Lua will ignore the first newline if nothing follows the initial, but not the trailing :

Additionally, inside of a multiline string, there is no concept of escapes, so using characters like  and   will represent themselves instead of acting specially:

Therefore, to include the  symbol, place   symbols between the brackets, like so:

There is no limit to the amount of 's one can place between the brackets, thereby allowing for deeply nested multline string literals, if desired.