首頁 > Java > java教程 > 如何正確取消轉義 Java 字串文字?

如何正確取消轉義 Java 字串文字?

Barbara Streisand
發布: 2024-12-21 02:50:09
原創
146 人瀏覽過

How to Properly Unescape Java String Literals?

如何在 Java 中對 Java 字串進行轉義?

問題

從 Java 原始程式碼中提取字串並在函數中使用它們是必要的傳遞文字的未轉義版本。這涉及將像 n 這樣的轉義序列轉換為換行符和單一 .

取消轉義函數

1。 Apache Commons Lang org.apache.commons.lang.StringEscapeUtils.unescapeJava()

雖然此函數存在,但它有幾個限制:

  • 忽略null
  • 不處理八進位
  • 無法處理符合正規表示式的轉義符,例如a、e 和cX
  • 不支援按數字排列的邏輯Unicode 程式碼點
  • 使用UCS-2 代碼而不是UTF-16 代碼

2。 Custom Unescaper

另一個解決方案是自訂函數,它可以解決Apache 程式碼的限制:

public static final String unescape_perl_string(String oldstr) {
    /* ... Code ... */
}
登入後複製

此函數提供全面的脫義功能,包括:

  • 標準轉義(a、e、f、n、r、 t)
  • 八進位轉義符( , N, NN, N, NN, NNN)
  • 控製字元(?cX)
  • 舊的十六進位轉義符(xXX)
  • Perl 十六進位轉義(!x{XXX})
  • 不受支援轉義(b 被傳遞)

以上是如何正確取消轉義 Java 字串文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板