Обрезка подстроки, которая будет использоваться в строках разной длины - PullRequest
0 голосов
/ 27 июня 2019

Итак, у меня есть строка типа abcdefg # 3h # ijkl12mka # 123456 # L # 5

Я пытаюсь получить только строку 123456 из этой строки.Примечание: есть строки разной длины, поэтому я не могу использовать что-то вроде substr (21, length (string)).Я не думаю, что я могу использовать что-то вроде substr (-11, -1).У кого-нибудь есть советы, как к этому подойти?

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

Попробуйте:

select REGEXP_SUBSTR('abcdefg#3h#ijkl12mka#123456#L#5','[^#]+',1,4) from dual;

Демо

Приветствия !!

0 голосов
/ 27 июня 2019

Просто посмотрите здесь regex .

С этим вы можете определить свою строку, которая всегда там.Например, в вашем случае вы хотите, чтобы строка была окружена символом # и содержала только цифры ...

  • Способ использования этого в базе данных оракула описан здесь .

  • Сайт, где вы можете проверить свое регулярное выражение: здесь .

  • А также ужеответил на вопрос здесь .

...