Как извлечь все после 1-й серии чисел PL / SQL

Очень наивное решение, которое не связано с регулярным выражением, состояло в том, чтобы выполнить замену строки на вашем разделителе по строкам (предполагая запятую для разделителя):

string.replace(FullString, "," , "~,~")

Где вы можете заменить тильду (~) с соответствующим уникальным разделителем.

Тогда, если вы разделите свой новый разделитель, я верю, что вы получите желаемый результат.

0
задан Barbaros Özhan 18 January 2019 в 14:55
поделиться

1 ответ

Вы можете использовать REGEXP_SUBSTR для этого:

SELECT str
     , REGEXP_SUBSTR(str, '\d+') AS substr1
     , REGEXP_SUBSTR(str, '[A-Za-z].*') AS substr2
FROM (
    SELECT '95a6' AS str FROM DUAL UNION
    SELECT '9 B2' FROM DUAL
) tests

Здесь \d+ соответствует последовательности цифр, а [A-Za-z].* соответствует букве и всем после нее.

Демонстрация по db <> fiddle

0
ответ дан Salman A 18 January 2019 в 14:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: