3462 Stimmen

Mehrzeilige Zeichenketten in JavaScript erstellen

Ich habe den folgenden Code in Ruby. Ich möchte diesen Code in JavaScript umwandeln. Was ist der entsprechende Code in JS?

text = <<"HERE"
This
Is
A
Multiline
String
HERE

6voto

earl3s Punkte 2273

In ES6 können Sie einen Backtick verwenden, um eine Zeichenfolge in mehreren Zeilen anzugeben. Das nennt man ein Template Literal. Zum Beispiel so:

var multilineString = `One line of text
    second line of text
    third line of text
    fourth line of text`;

Die Verwendung des Backticks funktioniert in NodeJS, und wird von Chrome, Firefox, Edge, Safari und Opera unterstützt.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

5voto

Pedro Andrade Punkte 4337

Sie können getaggte Vorlagen verwenden, um sicherzustellen, dass Sie die gewünschte Ausgabe erhalten.

Zum Beispiel:

// Merging multiple whitespaces and trimming the output

const t = (strings) => { return strings.map((s) => s.replace(/\s+/g, ' ')).join("").trim() }
console.log(t`
  This
  Is
  A
  Multiline
  String
`);
// Output: 'This Is A Multiline String'

// Similar but keeping whitespaces:

const tW = (strings) => { return strings.map((s) => s.replace(/\s+/g, '\n')).join("").trim() }
console.log(tW`
  This
  Is
  A
  Multiline
  String
`);
// Output: 'This\nIs\nA\nMultiline\nString'

4voto

Abhishek Goel Punkte 16695

Mehrzeilige Zeichenkette mit Variablen

var x = 1
string = string + `<label class="container">
                       <p>${x}</p>
                   </label>`;

4voto

Prakash GPz Punkte 1605

Beachten Sie auch, dass beim Erweitern der Zeichenfolge über mehrere Zeilen mit Forward Backslash am Ende jeder Zeile, alle zusätzlichen Zeichen (meist Leerzeichen, Tabs und Kommentare aus Versehen hinzugefügt) nach Forward Backslash unerwartete Zeichenfehler verursachen, die ich eine Stunde dauerte, um herauszufinden

var string = "line1\  // comment, space or tabs here raise error
line2";

4voto

Pragmatiq Punkte 77

Bitte verwenden Sie um des Internets willen die String-Verkettung und verzichten Sie auf die Verwendung von ES6-Lösungen für diesen Zweck. ES6 wird NICHT flächendeckend unterstützt, ähnlich wie CSS3 und bestimmte Browser, die sich nur langsam an die CSS3-Bewegung anpassen. Verwenden Sie einfaches JavaScript, Ihre Endbenutzer werden es Ihnen danken.

Ejemplo:

var str = "This world is neither flat nor round. "+ "Once was lost will be found";

3 Stimmen

Während ich mit Ihrem Punkt zustimmen, würde ich nicht nennen Javascript "gut" ol

1 Stimmen

Wie lässt sich diese Ermahnung im Jahr 2022 umsetzen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X