例如我有這樣的代碼
String text = "\\\"";
String after = text.replaceAll("\"", "\"") // I want to see " but have \"
如何用 replaceAll() 替換 "\ 上的 "?
uj5u.com熱心網友回復:
如果我理解你的問題,它可以是
String after = text.replaceAll("\"", "").
但是您在標題和帖子中有兩個不同的問題。
也許先嘗試閱讀這篇 文章如何制作 Java 列印引號,例如“Hello”?
uj5u.com熱心網友回復:
您為匹配器使用了錯誤的引數。您需要在正則運算式中轉義\和。"
\\是反斜杠,\\\"是引號。
String after = text.replaceAll("\\\\\"", "\"");
或者,您也可以按照@bharathp 的建議洗掉反斜杠。
uj5u.com熱心網友回復:
您可以嘗試使用Matcher.quoteReplacement。其定義指出:
斜杠 (
\) 和美元符號 ($) 沒有特殊含義。
例子:
String text = "\\\"";
System.out.println("before replaceAll: " text);
String after = text.replaceAll(Matcher.quoteReplacement("\\"), "");
System.out.println("after replaceAll: " after);
輸出:
before replaceAll: \"
after replaceAll: "
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473908.html
上一篇:正則運算式匹配字串和特殊字符
