Я пытаюсь выбрать столбец из таблицы, содержащей символы новой строки (NL) (и, возможно, другие \n
, \r
, \t
). Я хотел бы использовать REGEXP для выбора данных и замены (только этих трех) символов пробелом «".Oracle Regexp для замены n, r и t с пробелом
9
A
ответ
20
Нет необходимости в регулярном выражении. Это можно легко сделать с ASCII кодами и скучный старых TRANSLATE()
select translate(your_column, chr(10)||chr(11)||chr(13), ' ')
from your_table;
Это заменяет символ новой строки, табуляции и возврата каретки с пространством.
TRANSLATE() намного эффективнее, чем его эквивалент регулярного выражения. Однако, если ваше сердце настроено на этот подход, вы должны знать, что мы можем ссылаться на коды ASCII в регулярном выражении. Таким образом, это утверждение является регулярной версией выше.
select regexp_replace(your_column, '([\x0A|\x0B|`\x0D])', ' ')
from your_table;
твик ссылаться на код ASCII в шестнадцатеричном формате, а не основанием 10.
Смежные вопросы
- 1. Как NSLog с \ n \ r \ t
- 2. Регулярного выражения для замены десятичного с последующим пробелом и характером
- 3. Отвертка \ n \ r \ t системой()
- 4. Regexp для замены повторяющейся строки
- 5. Альтернатива regexp $ 1 для замены
- 6. Быстрая работа с символами \ n \ r \ t
- 7. sqlplus remove \ r \ n \ t from spool
- 8. Использование Python для замены «\ r \ r \ n» на «\ r \ n» в двоичном файле
- 9. Javascript - Проблемы с RegExp для замены
- 10. помощь с javascript regexp для замены строки
- 11. Анализ алгоритма с повторением T (n) = T (n - 1) + T (n - 2) + T (n -3)?
- 12. RegExp Строка замены Error
- 13. Regexp для поиска и замены с преобразованной результате
- 14. Как использовать regexp для замены «t e x t» на «текст»?
- 15. Ruby, regexp: что такое \ r и \ f?
- 16. Strip \ n \ t \ r в scrapy
- 17. Попытка поиска и замены новой строки ("\ n") символом новой строки и вкладкой ("\ n \ t") в sed
- 18. Как использовать RegExp Replace для замены предложения?
- 19. regexp для замены LF в котировках
- 20. Как заменить символы «\ n \ t \ r» на «-»?
- 21. Что означает «\ t \ r \ n \ a»?
- 22. Алгоритмическое T (n) = T (n-1) +2
- 23. Решение рекуррентного отношения T (n) = T (n-1) * T (n-2) + c, где T (0) = 1 и T (1) = 2
- 24. Oracle regexp Непонимание
- 25. Заменить \ r \ n на ""
- 26. Каким образом \ r \ t и \ n отличаются друг от друга?
- 27. Решите T (n) = T (n-1) + n^4 методом замещения
- 28. Заменить вкладку пробелом с помощью замены параметра Bash
- 29. Regexp для поиска и замены HTML в Geany
- 30. Lexer Priority с пробелом
Спасибо. Но я не хочу использовать функцию перевода, вместо этого хочу использовать только REGEXP. Один из способов, которым я мог это сделать, был следующим: select regexp_replace ('Hello' || chr (10) || 'XYZ', '[[: cntrl:]]', '') от dual; Теперь «[[: cntrl:]]» заменит все непечатаемые символы, но я хотел знать, как указывать только «\ n», «\ r» и «\ t». –
TRANSLATE() намного эффективнее, чем эквивалент регулярного выражения. Итак, почему вы хотите использовать регулярное выражение? – APC
Этот принцип экранирования символов с использованием '\ x0A',' \ x0B' и т. Д. Не работает для меня. Oracle 11g. Кто-нибудь знает, почему? Есть ли настройка оптимизации для этого? – cartbeforehorse