[英]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.