java后台由于未知空字符导致trim()后空字符然存在的问题怎么解决?

老了个bao 发布于 2016/03/03 17:12
阅读 209
收藏 0
业务导入Eecel里面有空格,但是后台先replaceAll之后再trim空字符依然存在,请教大神这怎么解决,还有我真想知道这传过来的到底是个什么东西
Excel读完之后map中取时先调用去空格和换行符方法,但是这方法说实话谷歌没搜到,不懂正则怎么写的,如下:
//获取Excel字段
String rec_num=ActionHelper.getNullToStr(map.get("rec_num")).trim();
//去空格方法
public static String getNullToStr(Object obj){
String s="";
if(obj!=null && !obj.equals("")){
//去除提交数据文本中的空格及换行符
   try {
    //TODO  throw cons, windows:  \r\n  mac: \r  unix/linux:  \n
    /*String ss = obj.toString().replaceAll(CodeTypeConst.ENTER_SPACE_SYSTEM, "");
    s=URLDecoder.decode(ss.trim().replaceAll("%", "%25"),"UTF-8");*/
    s=URLDecoder.decode(String.valueOf(obj).trim().replaceAll("<YfdID<><", "#").replaceAll("%", "%25"),"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return s;
}
传和取的值都是这个201502035139    ,有空字符的
后台几乎所有的去空格都是调用getNullToStr(Object obj)方法,这个太特殊了但是不止一次出现了,求大神指点下,方法哪里有问题,还有怎么判断空字符是代表什么
加载中
0
如比如比
如比如比
老trim干啥split一下不行么?
0
cys1357
cys1357

不是空格,所以去不掉。可能是制表符,0x09

0
a
alex
可能不是空格,是一些特殊不可见字符;excel里面很讨厌这种的;
返回顶部
顶部