Нахождение количества строк и символов, на которые был сдвинут индекс при изменении строки - PullRequest
0 голосов
/ 21 сентября 2011

Существует ли какой-либо алгоритм (или его реализация на JavaScript) для определения величины сдвига в позиции слова при изменении строки, содержащей слово?

Мой проект - это онлайн-редактор, основанный на CodeMirror, где мне нужно переместить курсор, когда новые данные были добавлены в код с помощью службы совместной работы MobWrite.

Поэтому, чтобы установить позицию курсора на слово, которое редактировал текущий пользователь, я думаю, мне нужно рассчитать величину сдвига в его позиции и добавить ее к исходной позиции курсора.

Решение: Теперь я пытаюсь реализовать метод, используемый MobWrite .

Спасибо всем за помощь.

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Вы, вероятно, хотите это: http://en.wikipedia.org/wiki/Levenshtein_distance

На этой странице есть другие типы расстояний.Проверьте, отвечают ли они вашим потребностям лучше.

0 голосов
/ 22 сентября 2011

Решение, реализованное MobWrite, является довольно полным и может быть найдено здесь: http://neil.fraser.name/writing/cursor/.

Решение проблемы, которую я на самом деле пытался решить, можно найти здесь: Получение CodeMirror для следования TextArea

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...