Java處理不可見特殊字符要點(diǎn)解析
看下圖所示,兩個(gè)空字符串不相等
因?yàn)閟tr中有不可兼得特殊字符,可以在debug中將str的值復(fù)制出來,然后粘貼到雙引號(hào)中們就可以看到這個(gè)字符的真面目,如下圖所示:
\uFEFF為控制字符,名為"零寬不折行空格(Zero Width No-Break Space)",此外,類似的不可見字符還有\(zhòng)u202A(從左至右嵌入)、\u202E(從右至左強(qiáng)制)等控制字符
那我們事怎么遇到這些控制字符的呢?
在讀取文件或者從某文件屬性中直接復(fù)制路徑經(jīng)常會(huì)遇到這種問題
在開發(fā)中可以對獲得的字符串進(jìn)行以下處理,來刪除這些控制字符:網(wǎng)上很多說使用正則\\p{Cntrl}進(jìn)行替換,經(jīng)過測試并不起作用,而是用朋友告訴我的\\p{C}
String str2 = str1.replaceAll("\\p{C}", "");
System.out.println("".equals(str2));
就是一些特殊的Unicode字符,如果不確定,可先判斷長度是否一樣:
推薦字符查詢網(wǎng)址查詢網(wǎng)址:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合POI實(shí)現(xiàn)Excel文件讀寫操作
EasyExcel是一個(gè)基于Java的、快速、簡潔、解決大文件內(nèi)存溢出的Excel處理工具,這篇文章主要介紹了SpringBoot整合POI實(shí)現(xiàn)Excel文件讀寫操作,首先準(zhǔn)備環(huán)境進(jìn)行一系列操作,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-10-10Spring使用Jackson實(shí)現(xiàn)轉(zhuǎn)換XML與Java對象
這篇文章主要為大家詳細(xì)介紹了Spring如何使用Jackson實(shí)現(xiàn)轉(zhuǎn)換XML與Java對象,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02使用Java實(shí)現(xiàn)對兩個(gè)秒級(jí)時(shí)間戳相加
在現(xiàn)代應(yīng)用程序開發(fā)中,時(shí)間戳的處理是一個(gè)常見需求,特別是當(dāng)我們需要對時(shí)間戳進(jìn)行運(yùn)算時(shí),比如時(shí)間戳的相加操作,本文我們將探討如何使用Java對兩個(gè)秒級(jí)時(shí)間戳進(jìn)行相加,并展示詳細(xì)的代碼示例和運(yùn)行結(jié)果,需要的朋友可以參考下2024-08-08Java DefaultListableBeanFactory接口超詳細(xì)介紹
這篇文章主要介紹了Java DefaultListableBeanFactory接口,DefaultListableBeanFactory是整個(gè)bean加載的核心部分,是Spring注冊機(jī)加載bean的默認(rèn)實(shí)現(xiàn)2022-11-11Spring需要三個(gè)級(jí)別緩存解決循環(huán)依賴原理解析
這篇文章主要為大家介紹了Spring需要三個(gè)級(jí)別緩存解決循環(huán)依賴原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Java常用正則表達(dá)式驗(yàn)證工具類RegexUtils.java
相信大家對正則表達(dá)式一定都有所了解和研究,這篇文章主要為大家分享了Java 表單注冊常用正則表達(dá)式驗(yàn)證工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11