簡體   English   中英

Java字符串用“ \\”替換

[英]Java String replace “ with \”

我必須在java中用“替換為\\”,

String.replaceall(“ \\”“,” \\\\\\“”)

但它的工作

提前致謝

假設您要使用文字\\則需要在正則表達式中對其進行轉義(棘手的部分是\\本身是轉義字符)。 你可以做類似的事情,

String msg = "\"Hello\"";
System.out.println(msg);
msg = msg.replaceAll("\"", "\\\\\"");
System.out.println(msg);

輸出(指示變化的" )為

"Hello"
\"Hello\"

根據javadoc, replaceAll 正則表達式匹配。 這意味着第一個參數被視為正則表達式,第二個參數也具有一些具有特殊含義的字符。 參見javadoc

"字符在正則表達式中不是特殊的,因此您無需對其進行任何操作。但是對於替換表達式,反斜杠是特殊的。如果您有替換字符串並且不希望使用任何字符,被視為特殊,最簡單的方法是使用Matcher.quoteReplacement

s.replaceAll("\"",Matcher.quoteReplacement("\\\""))

還要注意的是,這並不改變s的。 replaceAll 返回一個字符串,您必須將其分配給某些內容(也許是s ,也許還有其他內容)。 (我不知道您是否犯了這個錯誤,但這在StackOverflow上是很常見的錯誤。)

暫無
暫無

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

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