Java \n aus String entfernen?

ranger1111  30.03.2022, 13:13

Woran siehst du, dass es nicht funktioniert? Ein Screenshot deiner Ausgabe wäre hilfreich.

CloudBeta 
Beitragsersteller
 30.03.2022, 13:16

Es wird halt immernoch in 2 zeilen ausgegeben

++++++++++++[<+++++++++>-]<----.

>>+++++++++++[<+++++++++>-]<--.

4 Antworten

Hey,

in Java gibt es die trim() Methode, welche auf Strings ausgeführt werden kann. Diese sollte alle Steuerzeichen welche am Anfang oder Ende des Strings stehen entfernen.

Mfg Jannick (L1nd)

Woher ich das weiß:eigene Erfahrung

Mit ...

replaceAll("\\n","")

... würdest du wirklich ein Print-bares zeichen "\n" ersetzen. Du willst aber eine Formatierung entfernen, also ohne Escape ("\").

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems

Die Frage wurde ja schon beantwortet, aber um trotzdem noch meinen Senf dazuzugeben:

Das Brainfuck-Programm geht viel kürzer:

+[->-[<]>--]>-.-------.

Try it online

Warum escapest du das?

replace("\n","") muss funktionieren.

Woher ich das weiß:eigene Erfahrung – Ich habe selber lange im PC gearbeitet

CloudBeta 
Beitragsersteller
 30.03.2022, 13:14

Also code

System.out.println("++++++++++++[<+++++++++>-]<----.\n" +
        ">>+++++++++++[<+++++++++>-]<--.".replaceAll("\n",""));

Dann kommt

++++++++++++[<+++++++++>-]<----.

>>+++++++++++[<+++++++++>-]<--.

raus also immernoch in 2 zeilen...

0
ZaoDaDong  30.03.2022, 13:15
@CloudBeta

sorry, replaceAll erwartet Regex.
replace ohne zu escapen muss es sein.

0
jort93  30.03.2022, 13:16
@CloudBeta

Das ist völlig korrekt so, weil du nur die newline im zweiten string entfernst und nicht die im ersten. Das müsste heißen

System.out.println(("++++++++++++[<+++++++++>-]<----.\n" +
        ">>+++++++++++[<+++++++++>-]<--.").replaceAll("\n",""));

Du musst die newline nachdem die strings zusammengeführt werden entfernen.

0
CloudBeta 
Beitragsersteller
 30.03.2022, 13:18
@jort93

Ach ups...

Joa sorry xD klappt...

0
ZaoDaDong  30.03.2022, 13:18
@jort93

Alternativ:

        String out = "++++++++++++[<+++++++++>-]<----.\n"
                + ">>+++++++++++[<+++++++++>-]<--.";
        System.out.println(out.replace("\n", ""));
0
CloudBeta 
Beitragsersteller
 30.03.2022, 13:21
@jort93

Ach ich eis jetzt warum das trotzdem bei meinem programm nicht ging! ich habe nextLine geschrieben aber das sind ja 2 lines xD

0