В моем проекте андроида, я хочу прочитать структуру данных из файла. Поле предполагает «имя», которое имеет максимум 32 символа. В большинстве случаев поле «имя» содержит максимальный предел. Некоторые нежелательные символы (я думаю, «null») заполнены данными. Я использовал метод «trim» для удаления, но ничего не произошло. Мне нужны только достоверные данные для обработки, как я могу решить эту проблему?удаление пустых символов из строки android
ответ
Используйте регулярное выражение для замены непечатаемых символов.
String string=line.replaceAll("[^\\p{Print}]","");
ваше решение прост и работает, спасибо – Riskhan
Если символ 0 добавляются в конце строки, просто найти свой первый индекс в строках и подстрока до этого показателя:
int nullCharIndex = s.indexOf((char) 0);
if (nullCharIndex >= 0) {
s = s.substring(0, nullCharIndex);
}
Если у вас есть поле имени, полное значение null, просто проверьте, является ли строка == null.
Если вы хотите, чтобы разобрать одну строку, которая содержит, например, пространств: использование этого нужно просто
String string = "a b c d";
string.replaceAll(" ","");
Это может быть использовано для любого другого полукокса. Имейте в виду, что для этого вам нужно использовать RegEx.
Ваш пример демонстрирует, что может быть проблемой в его коде. строка является неизменной, поэтому вы должны назначить результат replaceAll некоторой String. – MByD
Проверьте больше 0 значение ASCII символа, чтобы проверить, является ли нулевой
Как удалить нуль из андроида строки
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);
использовать toCharArray, а не getBytes. На любой платформе с использованием UTF-8 в качестве кодировки по умолчанию с любыми символами> 127 ваше решение добавит неправильные значения. – njzk2
магазина характер ваши данные, как XML или JSON и используйте синтаксические анализаторы для чтения. – njzk2
данные из аппаратной системы, их формат необработанный – Riskhan