Ваша проблема действительно имеет отношение к кодировке.В частности, кажется, что ваш текст декодируется с использованием набора символов, ширина которого составляет два байта, а данные ASCII занимают только один байт.
В качестве временного исправления рассмотрите следующий запрос:
SELECT REGEXP_REPLACE('6 2 1 1 W r i g h t s v i l l e A v e', ' ([^ ])', '\1')
FROM dual;
Демо
Это выводит 6211 Wrightsville Ave
, что вам и нужно.Обратите внимание, что я предполагаю, что у каждого символа есть дополнительное пространство-призрак, в результате чего слова, которые были первоначально разделены одним пробелом, теперь будут разделены двумя пробелами.
Это не лучшее решение для этогомного причин.С точки зрения регулярных выражений, гораздо более жесткий ответ может быть дан с использованием обходных путей, но REGEXP_REPLACE
, по-видимому, их не поддерживает.