Comparison of programming languages (strings)

This comparison of programming languages (strings) compares the features of string data structures or text-string processing for over 52 various computer programming languages.

Concatenation
Different languages use different symbols for the concatenation operator. Many languages use the "+" symbol, though several deviate from this.

Unique variants

 * AWK uses the empty string: two expressions adjacent to each other are concatenated. This is called juxtaposition. Unix shells have a similar syntax. Rexx uses this syntax for concatenation including an intervening space.
 * C (along with Python) allows juxtaposition for string literals, however, for strings stored as character arrays, the  function must be used.
 * COBOL uses the  statement to concatenate string variables.
 * MATLAB and Octave use the syntax " " to concatenate x and y.
 * Visual Basic and Visual Basic .NET can also use the " " sign but at the risk of ambiguity if a string representing a number and a number are together.
 * Microsoft Excel allows both " " and the function " ".
 * Rust has the  macro and the   macro, of which the latter is the most prevalent throughout the documentation and examples.

String literals
This section compares styles for declaring a string literal.

Quoted interpolated
An expression is "interpolated" into a string when the compiler/interpreter evaluates it and inserts the result in its place.

Escaped quotes
"Escaped" quotes means that a 'flag' symbol is used to warn that the character after the flag is used in the string rather than ending the string.

Dual quoting
"Dual quoting" means that whenever a quote is used in a string, it is used twice, and one of them is discarded and the single quote is then used within the string.

Quoted raw
"Raw" means the compiler treats every character within the literal exactly as written, without processing any escapes or interpolations.

Multiline string
Many languages have a syntax specifically intended for strings with multiple lines. In some of these languages, this syntax is a here document or "heredoc": A token representing the string is put in the middle of a line of code, but the code continues after the starting token and the string's content doesn't appear until the next line. In other languages, the string's content starts immediately after the starting token and the code continues after the string literal's terminator.