可以使用一下方法解决
1. 替换
s = new String(s.getBytes(),"GBK").replace('?', ' ').replace(' ', ' ');
但是会导致正常的?也会被替换掉
2. 转换为char进行分析
/** * 把字符串中的异常空格进行转换 * @param s * @return */ public static String changeStr(String s) { int errorSpaceValue = 160; int rightSpaceValue = 32; char[] c = s.toCharArray(); int charToInt = 0; for (int i = 0; i < c.length; i++) { charToInt = c[i]; // 查看后发现?对应的char值为160 // 而正常的空格对应的值应该为32则可以进行转换下在输出 if (charToInt == errorSpaceValue) { c[i] = (char)rightSpaceValue; } } return new String(c); }
是无意中想到的一种方法,在自己的实际中可以实现.还不知道有什么隐藏的问题
上面出现?值对应160使用的是jsoup继续工具