Logo

Programming-Idioms

Assign to variable s a string literal consisting in several lines of text, including newlines.
New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
s : String := "Will this compile? " &
     "Oh yes it will";
char *s = "Huey\n"
          "Dewey\n"
          "Louie";
(def s "Murs, ville,
Et port,
Asile
De mort,
Mer grise
Où brise
La brise,
Tout dort.")
IDENTIFICATION DIVISION.
PROGRAM-ID. multi-line string.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 s    PIC X(20).
01 str  PIC X(5) VALUE 'COBOL'.
01 str1 PIC X(4) VALUE 'RULE'.
01 str2 PIC X(3) VALUE 'THE'.
01 str3 PIC X(5) VALUE 'WORLD'.
PROCEDURE  DIVISION.       
    STRING str ' ' str1 ' ' str2 ' ' str3 
    DELIMITED BY SIZE INTO s
STOP RUN.
#include <string>
std::string s = R"( Earth is a planet.
So is the Jupiter)";
string s = @"Huey
Dewey
Louie";
auto s = "One,
Two,
Three
";
auto s = r"line1
line2
line3";
auto s = `line1
line2
line3`;
var s = '''A
multi-line
string''';
var s = """A
multi-line
string""";
s = "Spanning
string
works"
s = ~S"""
This will print multiline
and escape char like \G
"""

s = """
multiline
heredoc
"""
S = "Strings
may span
across multiple lines"
"and they can"
"have as many portions"
"as you want"
"all of them quoted".
  s = "Hello &
      &World"
s := `Huey
Dewey
Louie`
def s = """line 1
line 2
line 3"""
def s = """\
	line 1
	line 2
	line 3""".stripIndent()
s :: String
s = "We will put a backslash to take a break\
     \and then a backslash to resume"
s = unlines [
     "several"
    ,"lines"
    ,"of"
    ,"text"]
let s = "This is a very long string which needs \n" +
        "to wrap across multiple lines because \n" +
        "otherwise my code is unreadable.";
let s = `This is a very long string which needs 
to wrap across multiple lines because 
otherwise my code is unreadable.`;
let s = "This is a very long string which needs \
to wrap across multiple lines because \
otherwise my code is unreadable.";
String s = """
This is a very long string which needs
to wrap across multiple lines because
otherwise my code is unreadable.
""";
String s = "This is a very long string which needs \n" +
           "to wrap across multiple lines because \n" +
           "otherwise my code is unreadable.";
String lineSeparator = System.lineSeparator();
String s = "line1" + lineSeparator + "line2" + lineSeparator;
val s =
    """
    This is my
    multi-line string.
    """
(setf s "a
b
c
d")
s = 'Huey \n'..
'Dewey \n'..
'Louie'
s = [[
Huey
Dewey
Louie
]]
NSString *s=@"Huey\n"
            @"Dewey\n"
            @"Louie";
$s = <<<EOD
Huey
Dewey
Louie
EOD;
$s = "This string 
is spanning
three lines";
var 
  _s: String;
begin
  _s := 'one' + LineEnding + 'two' + LineEnding + 'three'
end.
var 
  s: String;
begin
  s := 'one' + sLineBreak + 'two' + sLineBreak + 'three'
end.
var 
  s: String;
begin
  s := '''
one
two
three
''';
end.
$s = "Perl normally allows
strings to contain newlines.";
$s =<<EOSTR;
One of the ways to create multiline text is called
the "here doc" (lifted from various UNIX shells).
A 'here doc' is the <<tag construct.  Perl continues to treat
all the text found as part of the string until there's a line containing
the EOSTR tag at the beginning
EOSTR
$s = q{
There are a good few ways to create multiline
text strings in perl.
};
s = """Huey
Dewey
Louie"""
s = <<EOS
This is a
multi-line string.
We call it a "heredoc"
EOS
s = "Spanning
string
works"
let s = r#"Huey
Dewey
Louie"#;
let s = "line 1
line 2
line 3";
val s = """line 1
line 2
line 3"""
val s = """line 1
          |line 2
          |line 3""".stripMargin
(define s "This is my multi-line literal.
Line number two!
  This line starts with two spaces.")
s := 'Will this compile?
Oh yes, it will!'.
Dim s as String = "
This
Is
Multiline
Text!"