java从字符串中修剪不可打印字符的更好方法是什么
我正在从xml读取数据。当我在eclipse控制台中检查时,我发现我用一些方形框获取了整个数据示例如果excel工作表中有123个,我会得到123个方框。我用trim()
来避免这样的事情,但没有成功,因为trim()方法只修剪空白。但我发现这些字符的ASCII值为-17,-20我不想只修剪空白,我还想修剪那些方形框
所以我使用了以下方法来修剪这些角色,并获得了成功
修剪绳子的更合适的方法是什么
修剪一根线
String trimData(String accessNum){
StringBuffer sb = new StringBuffer();
try{
if((accessNum != null) && (accessNum.length()>0)){
// Log.i("Settings", accessNum+"Access Number length....."+accessNum.length());
accessNum = accessNum.trim();
byte[] b = accessNum.getBytes();
for(int i=0; i<b.length; i++){
System.out.println(i+"....."+b[i]);
if(b[i]>0){
sb.append((char)(b[i]));
}
}
// Log.i("Settigs", accessNum+"Trimming....");
}}catch(Exception ex){
}
return sb.toString();
}
# 1 楼答案
试试这个:
# 2 楼答案
编辑
使用Normalizer(从Java6开始)
和here和here是完全解
如果只想从字符串中删除所有不可打印的字符,请使用
参考:replace special characters in string in java和How to remove high-ASCII characters from string like ®, ©, ™ in Java