2016-06-20 2 views
0

У меня возникла странная проблема.Как эти строки могут быть разными?

Я извлек данные из файла Excel. Он должен содержать номер учетной записи IBAN.

Затем я попытался проанализировать набор номеров учетных записей (которые, по мнению источника, будут хорошими) с библиотекой Java.

Чтобы не допустить ограниченного объема вопроса, я не могу объяснить следующее. Приведенные ниже строки отличаются

030​69 
03069 

Первая копия & вставки из файла Excel, второй рукописные. Google возвращает разные результаты для abi [above number], и фактически во втором случае я могу найти, что это банковский код для банка Intesa Sanpaolo (точная страница с кодом ABI, локализованная, here).

Итак, чтобы сфера была узкой: как это возможно? Это как-то связано с кодировкой?

Попробуйте сами: сделайте CTRL + F и попробуйте тип «030», он выберет обе линии. Теперь введите 6, он будет соответствовать только второй строке.

То же самое произошло в Notepad ++

+0

Является ли файл Excel корневым источником данных? –

+0

Нет, но в настоящее время у меня нет информации о том, как был создан файл Excel. Его можно было скопировать и вставить из другого источника. В настоящее время, с моей точки зрения, это единственный источник для Java-приложений для данных –

+0

Если '03069' (без пробелов) - правильный код банка, то, возможно, вы можете попробовать удалить ложное пустое пространство в вашем Java-коде. –

ответ

1

Там же между 030 и 69 в первом тексте U+200B ZERO WIDTH SPACE.

Вставить текст в https://www.branah.com/unicode-converter, например, или отредактировать в редакторе с шестнадцатеричной обработкой.

Решение для очистки таких строк может быть, например, символами белого списка, поэтому заменить все, что не является A-Z0-9, будет очищено.

Смежные вопросы