簡體   English   中英

如何刪除 Unicode 字符串 Java

[英]How to remove Unicode String Java

我編寫了一個 Springboot 應用程序,它從 DynamoDB 讀取並生成一個 XML。在表中的一項中,有一個字段包含字符串“”。 這是一個 unicode 字符串,表示 End Of Medium。 請參考下面的屏幕截圖以查看它在 DynamoDB 中的外觀。 在此處輸入圖像描述

Springboot 應用讀取它。 使用 IntelliJ,我檢查了保存該值的變量。 看起來像這樣在此處輸入圖像描述

當我將此值寫入 XML 時,XML 標記如下所示。 在此處輸入圖像描述

還有另一個程序試圖解析這個 XML。它失敗了

XML character (Unicode: 0x19) at lineNumber: ___ ; columnNumber: ___ ;

我想檢查一個字符串是否包含 Unicode 字符串。 如果它包含,我想刪除它。 我嘗試使用

  • Apache 庫:StringEscapeUtils.unescapeJava(test2)
  • replaceAll("\P{打印}", "");

這些的問題在於,它們還刪除了像é這樣的字符。 例如:L'Oréal 變成 L'Oral OR LOral

任何建議將不勝感激。 謝謝。

正如@g00se 提到的,下面的代碼刪除了所有不可打印的字符,包括\n \r

input.replaceAll("\\p{Cntrl}", ""); 

下面的代碼單獨刪除了 End of Medium unicode 字符串。

input.replaceAll(unicodeString, "\u0019");

暫無
暫無

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

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