Wie kann ich ein \ in der Eingabe meines Programmes erkennen lassen?

... komplette Frage anzeigen

3 Antworten

\\ als Escape-Charakter hat nur* für den Kompilierungsvorgang eine Bedeutung. Sobald dein Code in den Bytecode übersetzt wurde, ist es ein Zeichen wie jedes andere. Wenn du im Code ein Stringliteral definierst als "\\\\", so macht der Compiler daraus eine Konstante, die nur aus dem Zeichen \\ besteht.

Dein Programm wird also nicht anfangen, die Backslashes als seltsame Escapesequenzen zu behandeln.

* Ausnahme: Wenn du die Strings als ein Format parst, was selbst wieder Escape-Sequenzen kennt (z.B. Reguläre Ausdrücke)

Antwort bewerten Vielen Dank für Deine Bewertung

Das eigentliche Problem hast du ja bereits selbst gelöst:

Wenn du "\\" Abfangen willst, solltest du: "\\\\" verwenden.

Den Bezug auf die Textdatei wiederum verstehe ich nicht. Du schreibst doch von einer "Eingabe", also meinst du damit eine Eingabe durch den Benutzer? Diese wäre ja erstmal nicht an eine Textdatei geknüpft.

Kannst du bitte genauer erläutern was es mit deinem Problem auf sich hat?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von minemon
13.10.2016, 21:09

Nun ich hatte im sinn den text zu kopieren und dann einzufügen

0

Einfach zweimal \\ eingeben. Z.B. "Test \\\\ Test" wird als "Test \\ Test" erkannt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von minemon
12.10.2016, 22:20

Ich weiß dass das geht, das Problem ist aber, ich habe eine 100Mb große Textdatei die es zu verarbeiten gilt, und etwa 1/3 aller Zeichen sind \. Ich muss es so eingeben wie es ist und so soll es auch erkannt werden.

0

Was möchtest Du wissen?