Wie man "\" durch "\\" in Java ersetzt

7

Ich habe versucht, die Zeichenfolge in Arrays zu brechen und \ durch \ zu ersetzen, konnte es aber nicht, auch versuchte ich String.replaceAll so etwas wie ("\","\"); . Ich möchte einen Pfad zu JNI liefern und es liest nur so. Kann mir bitte jemand dabei helfen? Vielen Dank.

    
David Prun 23.09.2011, 22:02
quelle

3 Antworten

22

Verwenden Sie nicht String.replaceAll in diesem Fall - das wird in regulären Ausdrücken angegeben, was bedeutet, dass Sie noch mehr entkommen müssen. Das sollte in Ordnung sein:

%Vor%

Beachten Sie, dass die umgekehrten Schrägstriche verdoppelt werden, da sie in Java-String-Literalen enthalten sind. Daher sind die tatsächlichen -Strings hier "single backslash" und "double backslash" - nicht doppelt und vierfach.

replace arbeitet mit einfachen Strings - keine Regexes involviert.

    
Jon Skeet 23.09.2011, 22:04
quelle
2

Sie könnten replaceAll :

verwenden %Vor%     
Bibin Mathew 24.09.2012 11:54
quelle
1
  

Ich möchte einen Pfad zu JNI liefern und es liest nur so.

Das stimmt nicht. Sie benötigen nur doppelte Backslashes in Literalzeichenfolgen, die Sie in einer Programmiersprache deklarieren. Sie müssen diese Ersetzung zur Laufzeit nie durchführen. Sie müssen überdenken, warum Sie das tun.

    
EJP 24.09.2011 02:30
quelle

Tags und Links