Используйте проект, размещенный на GitHub с Google Apps Script - PullRequest
0 голосов
/ 01 июля 2018

Я пытался сравнить 2 строки и увидеть сходство между 2 строками. Я нашел этот проект в Github, https://github.com/aceakash/string-similarity, и он выглядит именно так, как мне нужно. Однако мне нужно, чтобы он работал с моим скриптом Google Sheets. Я никогда не использовал ничего от Github раньше (предупреждение для начинающих), не могли бы вы помочь мне указать верное направление? Спасибо!

1 Ответ

0 голосов
/ 03 июля 2018

Можно использовать библиотеку javascript, размещенную извне, в функции сценария приложений Google, и это описано в статье здесь .

Он использует функцию javascript eval(), которая обычно не рекомендуется или даже запрещена, но вы можете быть в состоянии обосновать это, если вы используете eval() на доверенном ресурсе, и нет никакого способа для произвольного кода быть впрыскивается.

Библиотека, которую вы хотите использовать, однако, не подходит, так как это серверный модуль node.js и использует require, который не поддерживается Google Apps Script. Однако есть ряд других клиентских библиотек, которые вы можете использовать.

Приведенная ниже функция загружает файл javascript clj-fuzzy из внешнего источника - большинство библиотек javascript доступны где-то в CDN. Библиотека clj-fuzzy, похоже, имеет тот же образец - «исцеленный» по сравнению с «запечатанным», как и библиотека, которую вы предложили.

function COMPARE_DISTANCE(s1, s2) {

  var url = "https://cdn.jsdelivr.net/npm/clj-fuzzy@0.4.1/src-js/clj-fuzzy.min.js";
  var javascript = UrlFetchApp.fetch(url).getContentText();
  eval(javascript);

  var distance = clj_fuzzy.metrics.dice(s1, s2);

  return distance;

}

Вы можете назвать это с вашего листа

=COMPARE_DISTANCE(A1, B1)

И он вернет 0,8 для тестовых строк.

Примечание: в этой библиотеке есть комментарий о том, что она устарела, но если она делает то, что вам нужно, она, вероятно, не исчезнет.

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

Честно говоря, вам лучше загрузить файл и напрямую добавить его в свой проект.

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