Oracle, regexp: первые два слова из строки
Слова разделяются только пробеломесли из этого можно сделать вывод, что слово - это всё что не пробел, то:
[^[:space:]]+ [^[:space:]]+
Ага, спасибо, то, что нужно.
INSTR/SUBSTR что-то не очень хочется использовать ибо крокодилы получаются
А может кто подскажет как получить N-е слово?оформить в виде функции не выход?
Если регэкспом нельзя, то придется писать обертку, да.
regexp_substr('<предложение с разделителем слов ~>, '[^~]+', <word_no>, <word_no> + 1)
regexp_substr('<предложение с разделителем слов ~>', '[^~]+', 1, <word_no>)
Пример:
select regexp_substr('Шла Маша по шоссе и сосала сушку','[^ ]+',1,4) from dual;
RES
шоссе
Спасибо.
Оставить комментарий
0000
Слова разделяются только пробелом, т.е. слова через запятую, тире и прочее - одно слово.Пока пришел к такому:
Как вторую часть переписать, чтобы не буквы не считало началом нового слова?