成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Java處理不可見特殊字符要點解析

瀏覽:2日期:2022-08-21 08:51:05

看下圖所示,兩個空字符串不相等

Java處理不可見特殊字符要點解析

因為str中有不可兼得特殊字符,可以在debug中將str的值復制出來,然后粘貼到雙引號中們就可以看到這個字符的真面目,如下圖所示:

Java處理不可見特殊字符要點解析

uFEFF為控制字符,名為'零寬不折行空格(Zero Width No-Break Space)',此外,類似的不可見字符還有u202A(從左至右嵌入)、u202E(從右至左強制)等控制字符

那我們事怎么遇到這些控制字符的呢?

在讀取文件或者從某文件屬性中直接復制路徑經常會遇到這種問題

在開發中可以對獲得的字符串進行以下處理,來刪除這些控制字符:網上很多說使用正則p{Cntrl}進行替換,經過測試并不起作用,而是用朋友告訴我的p{C}

Java處理不可見特殊字符要點解析

String str2 = str1.replaceAll('p{C}', '');

System.out.println(''.equals(str2));

就是一些特殊的Unicode字符,如果不確定,可先判斷長度是否一樣:

Java處理不可見特殊字符要點解析

推薦字符查詢網址查詢網址:

https://unicode-table.com/cn/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章: