栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA中字符串前出现zwnbsp字符(零宽度空白字符)处理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA中字符串前出现zwnbsp字符(零宽度空白字符)处理

问题出现的背景:

        程序在对外部的.csv文件进行解析操作时,第一列的属性名(A)无法进行匹配选择。而后面几列的属性名(B,C,D,E)可以正确匹配选择。

CSV文件

 

  程序代码块   

        280行的代码,无法选中数组[A,B,C,D,E]中的第一个元素A。找了许多资料都没有找到合理的解释,然后在IDEA中复制了 数组[A,B,C,D,E];惊奇地发现 数字A前面有个字符串ZWNBSP 

 问题的解决:

        通过进行了百度,通过查阅资料发现,ZWNBSP是"zero-width no-break space (ZWNBSP)"的字符。会以 “UFEFF”作为字符串的开头;因此就可以解释清楚为什么数组的第一个元素为什么匹配不上。只需要去掉 ZWNBSP即可正确的匹配

附上解决代码

public static final String UTF8_BOM="uFEFF";
String rowMessage =header[j];
if(rowMessage.startsWith(UTF8_BOM)) {
    rowMessage=rowMessage.substring(1);
}

问题的出现原因:

         该CSV文件的编码格式是 带有UTF-8-BOM,它与我们常用的UTF-8编码格式不同;区别就是在有没有BOM。即文件的开头有没有 UFEFF。这样就会造成生成数组的第一个元素,无法进行判断匹配。

 

参考地址:

https://www.cnblogs.com/findumars/p/3620078.html

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396690.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号