簡體   English   中英

¿可以用*,$,%替換所有嗎? 如果沒有 ¿

[英]¿Can replaceAll work with *,$,%? if no ¿What other alternative to replaceAll can i use?

所以,我試圖制作這個代碼,如果我檢測到這個符號之一(*!OX%$#+&),那么那個特定的符號將從字符串中刪除。 但是,我收到此錯誤消息

Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
*

我認為是由於函數 replaceAll 無法識別這些字符。 如果是這樣,有人可以告訴我另一種方式來做我想做的事情。

(我必須逐個驗證每個字符是否在某個字符串上)

是的, replaceAll可以處理這些字符中的任何一個,但是replaceAll的參數是一個正則表達式。 這意味着在正則表達式中具有特殊含義的字符需要通過在它們前面加上反斜杠來“轉義”。 然后,當然,反斜杠需要通過在它前面加上第二個反斜杠來從編譯器中轉義。 所以你最終會寫出這樣的東西

replacedString = myString.replaceAll("\\+", "PLUS");

要找出需要替換的字符,請查看Pattern 類Javadoc 或者只是准備好嘗試一下。

暫無
暫無

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

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