理解String.replaceAll() 雙重替換異常
出現以下程式碼的問題:
<code class="java">System.out.println("test".replaceAll(".*", "a"));</code>
結果為“aa”,而非預期的“a”。使用“.*$”時也會出現此異常。
原因:
異常是由「.*」正規表示式的性質引起的。它匹配任何字元序列,包括空字串。因此:
解決方案:
要避免此問題,請考慮使用:
。 :
符合一個或多個字元的任何字元序列,不包括空字串。以上是為什麼 `String.replaceAll('.*', 'a')` 結果是 'aa' 而不是 'a'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!