powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / извлечение подстроки по последнему слову
25 сообщений из 58, страница 2 из 3
извлечение подстроки по последнему слову
    #39993088
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, 2
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993092
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
Stax,

ну а можно прописать там ОАО, ООО, ФГБУ и прочее, чтобы компилятор понимал, что после такого сочетания символов надо возвращать подстроку из p1?


Справочник сокращений и начиная с какого слова название организации

Типа:
Код: plsql
1.
2.
3.
3, Акционерное общество
5, Общество с ограниченной Отвественностью
2, ООО
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993099
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil,

чем не устраивает 22188028 ?

.....
stax
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993122
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
что вместо пробела операционистки могут по ошибке вставить любой символ

Вот. Это - твоя главная проблема, а не регулярки с ораклом.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993125
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
ну а можно прописать там ОАО, ООО, ФГБУ и прочее, чтобы компилятор понимал, что после такого сочетания символов надо возвращать подстроку из p1?

Нет. У тебя операционистки. Они всё сломают. Не надо, чтобы компилятор что-то там понимал, надо чтобы операционистки НЕ МОГЛИ ошибиться, ДАЖЕ если очень этого хотят.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993128
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax,
да все устраивает, но там привязка идет к пробелу же.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993176
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster,

А что если прописать условие типа если символ не относится к русскому или английскому алфавиту или кавычкам, то заменять его пробелом?
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993227
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil


А что если прописать условие типа если символ не относится к русскому или английскому алфавиту или кавычкам, то заменять его пробелом?

ооо "Иванов, Петров-Сидоров + сыновья"
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993237
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
Stax,
да все устраивает, но там привязка идет к пробелу же.


в результате ф-ции после короткого названия пробел, там не может быть другой символ

оператор, да, может вбить что угодно(Общ. с огран. Отвест.-Ромашка) , но ф-ция нет, ее рехультат предопределен

если ф-ция может вставлять различные разделители(в чем я сильно сомневаюсь) , то их повторить в Вашей обвязке

.....
stax
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993292
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, получается невозможно создать функцию, которая могла бы спасти от кривых рук бухов?
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993309
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
Stax, получается невозможно создать функцию, которая могла бы спасти от кривых рук бухов?


имхо
надо менять интерфейс ввода
если изменить нет возможности (покупная, дорого, неохота и тд)
выдавать отчетик где криво набрано название
заодно и изучите статистику ошибок
под ету статистику можно уже будет и подгонять ф-цию/расширять справочник сокращений

....
stax
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993322
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
А что если прописать условие типа если символ не относится к русскому или английскому алфавиту или кавычкам, то заменять его пробелом?

Полумеры. Ну и это надо делать на клиенте, чтобы не было возможности вводить что придёт в голову. С другой стороны это не спасёт от "РЭУ19" и "РЭУ 19", например.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993323
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
получается невозможно создать функцию, которая могла бы спасти от кривых рук бухов?

Многие искали такую функцию, но это как поиски святого Грааля. Ну и это один из основных законов ведения БД: даёшь бухам вводить первичку руками, получаешь n одинаковых сущностей.

Наройте где-нибудь список огранизаций своего города в каком-нибудь 2гисе они, вероятно, будут в нормальном состоянии. Во всяком случае будет что нормализовать и сделать из него словарь, чтобы бухи выбирали из списка.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39993753
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
набросал пару строк для обработки левых символов. Правда, алгоритм не спасет ,если бухи не знают такого символа как пробел.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
declare p1 varchar2(255);
           p2 vachar2(255);
           p3 varchar2(255);

begin
           p1:='Акционерное/*-++общество*-+/ "Ромашка"';
           p2:='АО*-+/--+    "ромашка"';
           p3:=regexp_replace(regexp_replace(p2, '[^а-яА-Яa-zA-Z"0-9]', ' '), '(  *)', ' ');
           dbms_output.enable;
           dbms_output.put_line(replace(p3, substr((p3), (instr(p3, ' ')+1, substr((p1), length(p1)-length((substr((p3), (instr(p3, ' '))+2)))))));
end;
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994023
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что я не так делаю?

Код: plsql
1.
regexp_replace('Акционерное общество "Ромашка"', 'акционерное общество', 'АО', 1, 1, 'i'); 



Указываю параметр без чувствительности к регистру, но все равно строка в неизменном виде возвращается.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994036
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil,

Код: plsql
1.
2.
3.
4.
5.
SQL> select regexp_replace('Акционерное общество "Ромашка"', 'акционерное общество', 'АО', 1, 1, 'i') from dual;

REGEXP_REPLA
------------
АО "Ромашка"



.....
stax
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994039
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Connected to Oracle Database 18c Express Edition Release 18.0.0.0.0 
Connected as user1@//192.168.1.201:1522/XE

SQL> 
SQL> select regexp_replace('Акционерное общество "Ромашка"', 'акционерное общество', 'АО', 1, 1, 'i') STR
  2  from dual;

STR
---------------------
АО "Ромашка"

SQL> 

Connected to Oracle Database 11g Release 11.2.0.1.0 
Connected as dmaslov@//192.168.1.201/DBOFFICE

SQL> 
SQL> select regexp_replace('Акционерное общество "Ромашка"', 'акционерное общество', 'АО', 1, 1, 'i') STR
  2   from dual;

STR
------------------------------
Акционерное общество "Ромашка"

SQL> 
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994040
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, ничего не понимаю. Все точь-в-точь , но мне возвращается неизменная строка
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994043
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,
понял. у меня версия старая
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39994087
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
понял. у меня версия старая
ElicSTFF NLS-зависимость
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39995898
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,
поставил oracle 19c, но с русскими символами не срабатывает почему-то. sqlplus, если что
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39995957
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
не срабатывает почему-то


Отвыкните от подобной отсебятины.
Версия, код, ошибки. Test case.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39996013
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Murmakil
dmdmdm,
поставил oracle 19c, но с русскими символами не срабатывает почему-то. sqlplus, если что


nls_sort какой?

......
stax
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39996601
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm,
а никакой ошибки нет. я кодировку поправил и норм.
Проверил оракл 11 на regexp_replace и если использовать английские буквы, то функция работает как надо. А если русские буквы, то неизменная строка возвращается.
...
Рейтинг: 0 / 0
извлечение подстроки по последнему слову
    #39996603
Murmakil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stax, binary
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / извлечение подстроки по последнему слову
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]