Я использую фреймворк, который время от времени возвращает неверные строки с "пустыми" символами.
"foobar" , например, представлен: [, Е, о, о, Ь, а, г]
Первый символ НЕ является пробелом (''), поэтому System.out.printlin() вернет "foobar" , а не "foobar" . Тем не менее длина строки равна 7 вместо 6. Очевидно, это делает большинство методов String (равно, split, substring,..) бесполезным. Есть ли способ удалить пустые символы из строки?
Я попытался построить новую строку следующим образом:
StringBuilder sb = new StringBuilder();
for (final char character : malformedString.toCharArray()) {
if (Character.isDefined(character)) {
sb.append(character);
}
}
sb.toString();
К сожалению, это не сработает. То же самое со следующим кодом:
StringBuilder sb = new StringBuilder();
for (final Character character : malformedString.toCharArray()) {
if (character != null) {
sb.append(character);
}
}
sb.toString();
Я также не могу проверить пустой символ следующим образом:
if (character == ''){
//
}
Очевидно, что что-то не так с String.. но я не могу изменить используемую инфраструктуру или ждать их исправления (если это ошибка в их рамках). Мне нужно обработать эту String и санатировать ее.
Любые идеи?