簡體   English   中英

java:用“ \\”替換“

[英]java:replacing “ with \”

如何在字符串中轉義雙引號? 例如

input: "Nobody"
output:  \"Nobody\"

我試過這樣的東西,這不起作用:

String name = "Nobody";
name.replaceAll("\"", "\\\"");

因為您的字符串“ Nobody”中沒有任何雙引號!

    String name = "Nobo\"dy";
    name = name.replaceAll("\"", "\\\\\"");

    System.out.println(name);
  1. 您的字符串沒有雙引號
  2. 您沒有在重新分配名稱(請記住,字符串在Java中是不可變的)
  3. 您的正則表達式並不完全正確。

此外,您不需要RegEx即可進行如此簡單的替換。

你試一試

    name = name.replace("\"", "\\\"");

adarshr是正確的,但也請注意,您忽略了返回的字符串,請執行以下操作:

String name = "Nobody";
name = name.replaceAll("\"", "\\\"");

Java中的字符串是不可更改的

編輯:自從我寫那封信以來,adarshr的回答就變的更好了(如果有人懷疑我為什么寫那封信)

name.replaceAll(...)不會更改名稱-它返回字符串,因此您需要編寫:

name = name.replaceAll(...)

Java文檔

除了您的字符串不包含“

請看一下http://www.bradino.com/javascript/string-replace/ ,它提供了替換所有內容的提示。

您可以執行以下一項操作:

var name ='“ Nobody”'; name = name.replace(“ \\”“,” \\\\“”);

問候

AJ

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM