Scala-Escape-Zeichen

In Scala werden Escape-Zeichen verwendet, um Sonderzeichen darzustellen, die nicht direkt in String-Literalen geschrieben werden können.

Escape-Zeichen beginnen mit einem Backslash\, gefolgt von einem bestimmten Zeichen, das eine besondere Bedeutung oder Wirkung angibt.

Die folgende Tabelle listet häufige Escape-Zeichen auf:

Escape-ZeichenBeschreibung
\bRücktaste
\tTab
\nZeilenvorschub
\fSeitenvorschub
\rWagenrücklauf
\"Doppeltes Anführungszeichen
\'Einfaches Anführungszeichen
\\Backslash

In Zeichen oder Zeichenketten können Unicode-Zeichen von 0 bis 255 durch eine Oktal-Escape-Sequenz dargestellt werden, d. h. einen Backslash\, gefolgt von bis zu drei Oktalziffern.

Wenn die Zeichenfolge nach dem Backslash\keine gültige Escape-Sequenz bildet, tritt ein Kompilierungsfehler auf.

Das folgende Beispiel veranschaulicht die Verwendung einiger Escape-Zeichen:

Beispiel

object Test {
   def main(args: Array[String]) {
      println("Hello\tWorld\n\n" );
   }
}

Die Ausgabe nach Ausführung des obigen Codes lautet wie folgt:

$ scalac Test.scala
$ scala Test
Hello    World

Das folgende Scala-Programmbeispiel demonstriert die Verwendung verschiedener Escape-Zeichen:

Beispiel

object EscapeCharacterExamples {
  def main(args: Array[String]): Unit = {
    val backspace = "Hello\bWorld"     // "HelloWorld"
    val tab = "Hello\tWorld"           // "Hello    World"
    val newline = "Hello\nWorld"       // "Hello
                                       // World"
    val formFeed = "Hello\fWorld"      // "Hello World"
    val carriageReturn = "Hello\rWorld"// "World"
    val doubleQuote = "He said, \"Hello, World!\""  // "He said, "Hello, World!""
    val singleQuote = '\"'             // '"'
    val backslash = "This is a backslash: \\"  // "This is a backslash: \"

    // Beispielausgabe
    println(s"Rücktaste: $backspace")
    println(s"Tabulator: $tab")
    println(s"Zeilenumbruch: $newline")
    println(s"Seitenvorschub: $formFeed")
    println(s"Wagenrücklauf: $carriageReturn")
    println(s"Doppeltes Anführungszeichen: $doubleQuote")
    println(s"Einfaches Anführungszeichen: $singleQuote")
    println(s"Backslash: $backslash")
  }
}

Nach Ausführung des obigen Codes lautet das Ausgabeergebnis wie folgt:

、
Backspace: HelloWorld
Tab: Hello    World
Newline: Hello
World
FormFeed: HelloWorld
CarriageReturn: World
DoubleQuote: He said, "Hello, World!"
SingleQuote: "
Backslash: This is a backslash: \

Beispielerklärung:

  • \b(Rücktaste): Bewegt den Cursor um eine Position zurück, löscht das Zeichen aber nicht. Zum Beispiel,"Hello\bWorld"das Ergebnis istHelloWorld, wobei \b hier das "o" nicht löscht, sodass der tatsächliche Anzeigeeffekt vom Terminal oder Ausgabegerät abhängt.

  • \t(Tabulator): Fügt einen horizontalen Tabulator ein, was einer bestimmten Anzahl von Leerzeichen entspricht."Hello\tWorld"fügt einen Tabulator zwischen "Hello" und "World" ein, normalerweise vier oder acht Leerzeichen.

  • \n(Zeilenvorschub): Zur nächsten Zeile wechseln, um eine neue Ausgabe zu beginnen."Hello\nWorld"zeigt "Hello" und "World" in zwei separaten Zeilen an.

  • \f(Seitenvorschub): Fügt ein Seitenvorschubzeichen ein, das normalerweise zum Steuern von Seitenumbrüchen im Drucker verwendet wird, aber in der Konsolenausgabe normalerweise keine offensichtliche Wirkung hat.

  • \r(Wagenrücklauf): Zurück zum Anfang der aktuellen Zeile."Hello\rWorld"überschreibt den Inhalt der aktuellen Zeile und zeigt "World" an.

  • \"(Doppeltes Anführungszeichen): Fügt ein doppeltes Anführungszeichen ein."He said, \"Hello, World!\""zeigt anHe said, "Hello, World!"。

  • \'(Einfaches Anführungszeichen): Fügt ein einfaches Anführungszeichen ein. Wird normalerweise in Zeichenliteralen verwendet, wie z. B.'\'\''stellt ein einfaches Anführungszeichen dar.

  • \\(Backslash): Fügt einen Backslash ein."This is a backslash: \\"zeigt anThis is a backslash: \。

Weitere Erweiterungen