簡體   English   中英

Java String:替換包含$ sign的字符串

[英]Java String: Replace a string containing $ sign

如何在Java中替換String $1 我嘗試過這個,但這並沒有取代它:

System.out.println(someHTMLCodeAsString.replaceAll("$1", "REPLACED"));

$被解釋為正則表達式而不是字符(它意味着'行尾')。 試試System.out.println(someHTMLCodeAsString.replaceAll("\\\\$1", "REPLACED"));

嘗試

 System.out.println(someHTMLCodeAsString.replace("$1", "REPLACED"));

你可以簡單地使用這種方法:

someHTMLCodeAsString.replaceAll("\\$1", "REPLACED").

簡單地將所有“$”替換為“REPLACED”!

Java API文檔 :“請注意,替換字符串中的反斜杠()和美元符號($)可能導致結果與將其視為文字替換字符串時的結果不同;請參閱Matcher.replaceAll。使用Matcher.quoteReplacement( java.lang.String)如果需要,可以抑制這些字符的特殊含義。“

你已經得到了一些反應。 彼得勞雷是正確的。 你需要通過正則表達式轉義逃避$而不是字符串轉義,因此雙\\。

System.out.println(someHTMLCodeAsString.replaceAll(“\\\\ $ 1”,“REPLACED”));

或者,讓正則表達式庫為您處理:

someHTMLCodeAsString.replaceAll(Pattern.quote("$1"), "REPLACED")

暫無
暫無

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

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