JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.

Как определить, что написано именно «это» слово?

К примеру имеется строка:
Нас интересует слово --> дверей
var sFind = "дверей";
var str     = "На стене напротив дверей висело знамя 2-й роты.";

Я знаю, что это слово должно быть написано именно так, и никак иначе.
Но, если пользователь ошибётся в одной букве, либо вообще её не напишет,
к примеру --> дерей, дверай
Как мне сделать так, что бы программа поняла, что имелось в виду именно слово "дверей" ?
Единственный вариант, о котором я подумал, это действовать перебором... Но это звучит даже бредово .... Может есть какие нибудь другие решения данной проблемы?
p.s. например с помощью регулярных выражений ... Я просто не знаю, что можно придумать ... Пожалуйста, подайте идею :)
  • Вопрос задан
  • 344 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Простейший алгоритм выглядит так:
  1. Разбить текст на слова.
  2. Для каждого слова рассчитать расстояние Левенштейна от исходного слова.
  3. Если расстояние меньше, чем X - скорее всего, это искомое слово.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
EShein
@EShein
Shein
Простое регулярное выражение.
var str = "На стене напротив дверей висело знамя 2-й роты.";
  console.log(!!~str.search( /дверей/g));

Если слово попалось то в консоль выведется true иначе false.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы