Google apps script 从DriveApp查找两个文本文件中的差异
我正在制作一个脚本,将谷歌文档的内容复制到一个文本文件中,并将其存储在谷歌硬盘上。然后,用户编辑文档,完成编辑后,会将新版本复制到单独的文件中。我已经完成了这一部分,但现在我需要知道如何让脚本自动比较文本中的差异,然后在文档中更改这些差异的颜色。有什么想法吗 我唯一尝试过的就是问我的朋友,他在编程方面比我懂得多,哈哈。他帮不了我Google apps script 从DriveApp查找两个文本文件中的差异,google-apps-script,google-docs,Google Apps Script,Google Docs,我正在制作一个脚本,将谷歌文档的内容复制到一个文本文件中,并将其存储在谷歌硬盘上。然后,用户编辑文档,完成编辑后,会将新版本复制到单独的文件中。我已经完成了这一部分,但现在我需要知道如何让脚本自动比较文本中的差异,然后在文档中更改这些差异的颜色。有什么想法吗 我唯一尝试过的就是问我的朋友,他在编程方面比我懂得多,哈哈。他帮不了我 function copyQuestions() { var body = DocumentApp.getActiveDocument().getBody();
function copyQuestions() {
var body = DocumentApp.getActiveDocument().getBody();
var getquestions = body.getText()
DriveApp.createFile('tempquestions.txt', getquestions);
DocumentApp.getUi()
.alert('Questions have been copied to a new file on Google Drive. Get to work, and be sure not to delete the file!')
}
function copyAnswers() {
var body = DocumentApp.getActiveDocument().getBody();
var getanswers = body.getText()
DriveApp.createFile('tempanswers', getanswers);
DocumentApp.getUi()
.alert('Coloring answers...')
}
脚本使用文档内容的副本创建文件。我现在需要知道如何比较两者之间的差异。谢谢大家! 听起来你需要一个差异引擎。您可以尝试利用著名的算法(如或)编写自己的脚本,但如果您不太愿意,可以尝试寻找与应用程序脚本兼容的现有javascript库 进行了快速搜索,找到了一些开源回购协议。我无法保证它们与应用程序脚本的兼容性,但至少有一个是可行的JSDiff支持EcmaScript 3,其中应用程序脚本最多支持EcmaScript 5: JSDIFF 源网页压缩: github: 节点三角洲 github:
更新了我的回答如果他们使用应用程序脚本,我将如何设置它?JSDiff有一个链接到答案中的web打包源文件,您可以尝试将其作为脚本文件嵌入到应用程序脚本中。我不能保证这会奏效,但值得一试。不过,如果它确实有效,请务必查看github链接,了解如何在代码中使用该库的说明。我相信我知道如何在应用程序脚本中运行常规JS,我应该试一试吗?@Hampoon:试一试也无妨。