簡體   English   中英

在Java中將包含“$”的字符串替換為“\\ $”

[英]Replace a String containing “$” with “\$” in Java

我該怎么做? 我做了一個研究,但我找不到一個明確的答案。我試着用

pass = pass.replaceAll("$", "\\$");

但它不起作用。

采用

pass = pass.replace("$", "\\$");

它也將取代所有事件。 請參閱JavaDoc

如果你喜歡艱難的方式並想使用正則表達式,你需要:

pass = pass.replaceAll("\\$", "\\\\\\$");

這可以通過Matcher.quoteReplacement()簡化,但仍然只需要替換匹配正則表達式的東西時使用replaceAll() ,並在必須替換文字序列時使用replace()

問題是String.replaceAll使用正則表達式,其中\\$都有特殊含義。 據我所知,你不想要它 - 你只想逐字替換字符串。 因此,您應該使用String.replace

pass = pass.replace("$", "\\$");

(我個人認為replaceAll使用正則表達式這一事實是一個設計錯誤,但這是另一回事。)

暫無
暫無

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

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