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