Добрый день.
Есть файл с большим количеством организаций, которые имеют разную форму собственности - "Общество с ограниченной ответственностью", "ФГУП", "ООО", "Федеральное государственное бюджетное предприятие", "Акционерное общество", "АО", "Общество ограниченной ответственностью". Могут быть с ошибками, могут быть с маленькой буквы, без пробелов и т.д.
Хотелось бы это всё, перед записью а базу привести в один вид. Т.е. на входе "ООО" или "Общество ограниченной ответственностью" или "Обществоограниченной ответственностью", а не выходе я получаю четко "Общество с ограниченной ответственностью".
Каким алгоритмом/сортировкой воспользоваться в этом случае?
Тупо в лоб, например, искать "если первое слово приведенное к нижнему регистру имеет корень "общ", то заменять на "Общество с ограниченной ответственностью" или как?
FanatPHP, Что за бред, почему сразу ИИ? Он спросил про алгоритм. Существует множество алгоритмов нечеткого поиска. В данном случае если база большая, можно попробовать использовать метод n грамм, так как скорость работы и точность неплохая, и реализация не очень сложная. Возможно если поискать можно найти уже готовые решения.
FanatPHP, Неуместное замечание. Вопрос был про алгоритм, а не про функции на PHP. Вот, например, ниже предложено использовать регулярки и пропускать через них, с примером. И я рад этому ответу. Откуда вы взяли, что я прошу функцию на PHP - мне непонятно, но простительно. Тег РНР я поставил, так как задача будет решаться через него. Там же был тег "Алгоритмы", его отредактировали, ну и, наверное, правильно.