在我的android项目中,我想从文件中读取数据结构。一个字段假设'name',最多有32个字符。大多数时候'name'字段包含小于最大限制。一些不需要的字符(我认为'null')充满了数据。我使用'trim'方法删除,但没有任何反应。我只需要有效的数据进行处理,我该如何解决这个问题?
答案 0 :(得分:4)
使用正则表达式替换不可打印的字符。
String string=line.replaceAll("[^\\p{Print}]","");
答案 1 :(得分:1)
检查字符的ascii值是否大于0以检查字符是否为空
如何从android String中删除null
String str = "abc def";
StringBuffer sb = new StringBuffer();
byte[] byteArray = str.getBytes();
for(byte bytedata:byteArray){
if(bytedata>0){
sb.append((char)bytedata);
}
}
str = sb.toString();
System.out.println("..."+str);
答案 2 :(得分:0)
如果char 0附加在String的末尾,只需在String中找到它的第一个索引,并将子串直到该索引:
int nullCharIndex = s.indexOf((char) 0);
if (nullCharIndex >= 0) {
s = s.substring(0, nullCharIndex);
}
答案 3 :(得分:-1)
如果你有一个完全为null的名字字段,请检查是否为string == null。
如果要解析一个字符串,其中包含例如空格jsut使用:
String string = "a b c d";
string.replaceAll(" ","");
这可以用于其他所有char。请注意,您必须使用RegEx。