|
|
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Помогите пожалуйста вычленить улицу из строки адреса Пример адреса: "Россия, г. Воронеж, ул. Пупкина, дом 30, кв. 27" Вместо "ул." может быть и "УЛИЦА" и "ПЕРЕУЛОК" и "пер." и "бул." и т.д. Я как понимаю, эти значения надо прописать в REGEXP_SUBSTR, но как, понять не могу. В итоге должно получиться только название улицы "Пупкина" Заранее Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 09:59:29 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrrey, Адреса могут быть вообще любые (в смысле не из какого-то ограниченного набора)? Тогда я бы шел по по пути сличения со справочником улиц из ФИАС-а. Как вариант, если есть выход в интернет и не требуется высокая поизводительность, то можно пвоспользоваться готовыми сервисами, которые делают то же самое. А анализировать саму строку, имхо, очень ненадежный подход. "п." - может быть и проездом, и переулком, и площадью, и поселком, и т.д. Мы у себя сталкивались с таким, что клиент написал "п.", а в его городе был и проезд, и проспект с таким названием. Верный адрес вычислили только по номеру дома, которого не было в проезде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 10:37:27 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
miksoft, У меня идет сравнение не только по улице, еще по 4 параметрам, так что если под "пр." будут подразумевать разное, проезд или проспект то ничего страшного, совпадения названий всё равно не будет. Мне бы пример с REGEXP_SUBSTR и хотя бы одним вариантом "УЛИЦА", а не с множеством, остальное я наклепаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 10:55:19 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreyМне бы пример с REGEXP_SUBSTR и хотя бы одним вариантом "УЛИЦА"Даже это сделать надежно невозможно. Пример, попробуйте различить: Россия, г. Воронеж, ул. пупкина 10 корпус 2 Россия, г. Воронеж, ул. имени 8 марта 10 Либо вводите какие-то ограничения на чистоту исходных данных. Которые, опять же, непонятно как проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:08:35 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
miksoft, у нас "им." идет отдельным столбцом, будет только восьмерка сравниваться, ну и пусть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:12:24 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreyМне бы пример с REGEXP_SUBSTR и хотя бы одним вариантом "УЛИЦА", а не с множеством, остальное я наклепаю.Нет, если ты не можешь сделать самый примитивный вариант, то сложнее точно не сможешь. Напиши сначала для варианта УЛИЦА ФИКСИРОВАННАЯ, потом укажи разные варианты для улицы через (|), потом произвольное название. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:13:19 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreyМне бы пример с REGEXP_SUBSTR и хотя бы одним вариантом "УЛИЦА", а не с множеством, остальное я наклепаю.Наивная вера в мега-пупер-регэксп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:13:30 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreymiksoft, у нас "им." идет отдельным столбцом, будет только восьмерка сравниваться, ну и пусть.Каким-таким столбцом, если в исходных данных всего одна строка? Кроме того, там может быть и другое слово. Т.е. число может быть в середине названия названия улицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:19:56 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
miksoft, Хорошо, как конкретно из этого примера "Россия, г. Воронеж, ул. Пупкина, дом 30, кв. 27" выцепить "Пупкина"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:31:12 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrrey, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:41:01 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreymiksoft, у нас "им." идет отдельным столбцом, будет только восьмерка сравниваться, ну и пусть. улица - отдельным столбцом бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:46:05 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
andrrreymiksoft, Хорошо, как конкретно из этого примера "Россия, г. Воронеж, ул. Пупкина, дом 30, кв. 27" выцепить "Пупкина"?Выцепить по каким именно признакам? Сформулируйте сначала конкретные признаки, которые актуальны для ваших данных и для ваших задач. А уж записать их в виде выражения - дело второе. Если выцеплять всё от "ул."(с возможными пробелами) до запятой, то так: Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 11:49:23 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
miksoft, Спасибо тебе! Стану губернатором, возьму тебя в замы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 12:03:37 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
miksoftregexp_substr(a, 'ул.\s*(.+?),', 1, 1, 'i', 1)'г. Улан-Удэ, ул. Приехал из аула, 12' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 12:54:02 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
-2-miksoftregexp_substr(a, 'ул.\s*(.+?),', 1, 1, 'i', 1)'г. Улан-Удэ, ул. Приехал из аула, 12'Да, налажал. Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 13:13:51 |
|
||
|
Вычленить улицу из строки адреса REGEXP_SUBSTR
|
|||
|---|---|---|---|
|
#18+
-2-, Кстати да, такие не проходят. Как задать "ул" с точкой и пробелом " ул." в таком запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2016, 13:16:53 |
|
||
|
|

start [/forum/search_topic.php?author=brainbo&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 785ms |
| total: | 981ms |

| 0 / 0 |
