Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Извлечь число из строки  [new]
Заятс
Member

Откуда: Киев
Сообщений: 316
Есть строки соответствующие шаблону:
<text><<count>><number><text>
Необходимо извлечь число, стоящее после маркера "count".
Как это сделать красиво?
26 ноя 12, 16:06    [13530695]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
zhal
Member

Откуда: Киев-Харьков
Сообщений: 647
Заятс,
пример строки?
26 ноя 12, 16:14    [13530778]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
а некрасиво substr от ">>" до "<" после ">>"?
26 ноя 12, 16:21    [13530849]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
Заятс
Member

Откуда: Киев
Сообщений: 316
">","<" не есть маркеры в строке, ими я выделил составные части строки.
Пример: "Flower street, 16 count 32 after 20:30".
Надо выделить число 32
26 ноя 12, 16:30    [13530948]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Так какая проблема найти "count", а потом пробел после числа?
26 ноя 12, 16:32    [13530965]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
Заятс
Member

Откуда: Киев
Сообщений: 316
tru55, с этим проблем нет, я так и сделал. Но такое решение мне не нравится, уж слишком длинное выражение.
Может это же можно реализовать через REGULAR EXPRESSION ?
26 ноя 12, 16:46    [13531099]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
широкую делайте
Guest
select regexp_replace('Flower street, 16 count 32 after 20:30','.*count (\S+).*','\1')
from dual;
26 ноя 12, 16:55    [13531173]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
zhal
Member

Откуда: Киев-Харьков
Сообщений: 647
Заятс,

SELECT substr(regexp_substr('Flower street, 16 count 32 after 20:30','count \d+'),7) FROM dual
26 ноя 12, 16:55    [13531176]     Ответить | Цитировать Сообщить модератору
 Re: Извлечь число из строки  [new]
Заятс
Member

Откуда: Киев
Сообщений: 316
zhal, Спасибо, то что нужно
26 ноя 12, 17:05    [13531259]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить