Excel导入数据空格通过trim()无法去除的解决办法
操作:将excel数据通过java导入到数据库
问题:
201809258FDDSS 在数据库中存入这样的字符串,使用SELECT * from abc where title="201809258FDDSS "怎么搜都搜不出来。最后没办法用SELECT * from abc where title like "201809258FDDSS%" 才把它搜出来。
Mysql解决步骤:
想法是不是excel有制表位,是不是\n或是\t
SELECT * from abc where title="201809258FDDSS \n"
SELECT * from abc where title="201809258FDDSS \t"
这么查询还是没查到,然后我把这个字符串进行unicode解析,还真给解析出来了,解析出来是\u0020\u00a0这样的东西,经过搜索才知道这是两个空格,找的帖子这么讲:
1.不间断空格\u00A0,主要用在office中,让一个单词在结尾处不会换行显示,快捷键ctrl+shift+space ;
2.半角空格(英文符号)\u0020,代码中常用的;
3.全角空格(中文符号)\u3000,中文文章中使用;
\u00A0这个的ascii是194,\u0020是160,通过ascii进行替换就大功告成了。如下:
UPDATE abc set title=REPLACE(REPLACE(title, CHAR(194), ''), CHAR(160), '') where id=132
这样问题就解决了
JAVA代码的解决办法
System.out.println(" 89860434192090056450".replaceAll("[\\s\\u00A0]+","").trim());
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
