Собственно, задача возникла при конвертации номера дома в формат для рендера.
Есть большое желание упихать максимум номеров в 31 бит.
В частности, большие и малые буквы считаются эквивалентными, “корп.”, “Корп.”. “корп”, “кор.”, “Кор.” - все приводятся к единственной букве “к”, а “стр.” - к букве “с”. Эквивалентные начертания латиницы преобразуются в кириллицу.
Теперь вопросы. Допустимо ли считать эквивалентными:
- точку и двоеточие (“,” и “;”).
- прямой и обратный слеш (“/” и "").
- допустимо ли пропускать ведущий ноль (т.е. эквивалентны ли “1” и “01”)
- допустимо ли опускать “ЛИТ”, “литер” и т.п. (т.е. эквивалентны ли “литер Д” и “Д”)
Вдогонку:
допустимо ли заменять “b”, “v”, “g” на “б”, “в”, “г” соответственно?
допустимо ли удалять “д”, “д.”, “D” в начале адреса?
В Питере - точно нет. Тут “10А” и “10 литера А” - это разные строения.
AMDmi3
4
b точно нет, это может быть как Б так и В.
И что в таком случае следует делать?
Писать автору и выяснять у него, что он имел в виду?
Судя по тому, что “b”, как правило, оказывается рядом с “v”, это все-таки “б”.