Как применить регулярное выражение, чтобы получить точный номер дома с приблизительным совпадением остаточного адреса - PullRequest
0 голосов
/ 13 декабря 2018
import re

list =[]

for element in address1:

    z = re.match("^\d+", element)

    if z:

        list.append(z.string)

get_best_fuzzy("SATYAGRAH;OPP. RAJ SUYA BUNGLOW", list)

Я пробовал приведенный выше код, он дает мне приблизительное совпадение адресов для адресов в моем текстовом файле.Как я могу получить точное совпадение номера дома с приблизительным соответствием адреса отдыха?Мои адреса в формате: 1004;Башня Джея Шивы;Общество "Азад";Амбавади Ахмедабад Гуджарат 380015 Индия

1004;Башня Джейшива;Общество "Азад";Амбавади Ахмедабад Гуджарат 380015 Индия

101 ГАМБС БАШНЯ;ЧЕТЫРЕ РЕГИОНА, ПРОТИВОПОКАЗАННАЯ ЦЕРКОВЬ ХОРОШЕЙ Пастыря АНДЕРИ-ЗАПАДНЫЙ МУМБАЙ Махараштра 400053 Индия

101/32-B;ШРИ ГАНЕШ КОМПЛЕКС ВЕЕР САВАРКАР БЛОК;SHAKARPUR;EASE DEL HI DELHI Дели 110092 Индия

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете попробовать это.

Код:

import re

address = ["1004; Jayshiva Tower; Near Azad Society; Ambawadi Ahmedabad Gujarat 380015 India",
"101 GAMBS TOWER; FOUR BUNGLOWS;OPPOSITE GOOD SHEPHERD CHURCH ANDHERI WEST MUMBAI Maharashtra 400053 India",
"101/32-B; SHREE GANESH COMPLEX VEER SAVARKAR BLOCK; SHAKARPUR; EASE DEL HI DELHI Delhi 110092 India"]

for i in address:
    z = re.match("^([^ ;]+)", i)
    print(z.group())

Выход:

1004                                                                                                                    
101                                                                                                                     
101/32-B
...