2017-05-23 2 views
0

Gegeben eine Zeichenfolge, ich möchte alle doppelten Schrägstriche mit einem Schrägstrich ersetzen, und dann alle Instanzen von \n mit -. wenn ich zum Beispiel diese:Escape-Escape-Zeichen im Frühjahr boot

\\n\\nff 

Es sollte umgewandelt werden:

\n\nff 

Und dann:

--ff 

Ich schrieb diesen Code:

shippingAddress = shippingAddress.replaceAll("\\\\n", "\n"); 

Zum Beispiel:

public static void main(String[] args) { 
    System.out.println("xx"); 
    String x = "enterchar17\\n\\n\\nenterchar17enterchar17\\n\\n\\n\\nenterchar17"; 
    System.out.println(x); 
    x.replaceAll("\\n","\n"); 
    System.out.println(x); 
} 

Dies erzeugt diese Ausgabe:

xx 
enterchar17\n\n\nenterchar17enterchar17\n\n\n\nenterchar17 
enterchar17\n\n\nenterchar17enterchar17\n\n\n\nenterchar17 

so hat es nicht ändern. Ich muss entkommen char, weil irgendwie Spring Boot 2 Schrägstriche sendet. Was kann ich tun?

ich denke JSON denkt doppelt so doppelt. Es gibt ihm keine Fluchtmöglichkeit?

"line1": "fasfsafasfsa\n\n\nff\n\tasas", 

auf Postbote, wenn ich Anfrage wie diese senden, \ n konvertiert "-"

aber in Postbote, wenn ich mit Doppel schicken, es cantconvert.

, wenn ich auf der Seite prüfen, wo ich Anfrage von Zeichenfolge senden, ich sehe diese

line1 
: 
"enterchar17↵↵v↵↵enterchar17↵↵↵enterchar17" 

auf Chrom

Antwort

2

Ich glaube, Sie Java-Problem haben. Die Linie

x.replaceAll("\\n","\n"); 

sollte

x = x.replaceAll("\\n","\n"); 

String ist eine unveränderliche Klasse sein. Daher muss die Ausgabe einer Methode in einer Variablen erfasst werden.