javascript - 如何使用谷歌应用脚本在谷歌文档中获取字符串的索引
问题描述
我想搜索一个字符串,然后用谷歌文档上的图像替换它。为此,我想获取字符串的索引,然后用图像替换它。但到目前为止我无法获得字符串的索引。
下面是我正在做的一个片段:
var element = '<<19>>';
options = {muteHttpExceptions: true};
var resp = UrlFetchApp.fetch(mylist[x-1], options);
var image = resp.getBlob();
//getting the index of element and then replacing it with image
var rangeElement = body.findText(element);
var foundElement = rangeElement.getStartOffset();
body.replaceText(element, body.insertImage(foundElement, image));
我试过使用findText(searchPattern)
,但它没有工作,因为它返回一个范围元素,我0
每次都得到输出。
解决方案
这是您在文档中查找文本并将其替换为图像的方式:
function findAndReplaceWithImage() {
var element = "<<19>>";
var doc = DocumentApp.getActiveDocument().getBody();
var image = "your image url";
var blob = UrlFetchApp.fetch(image).getBlob();
var paragraphs = doc.getParagraphs();
for (var i = 0; i < paragraphs.length; i++) {
var text = paragraphs[i].getText();
if (text === element) {
//Found your match
doc.removeChild(paragraphs[i]);
doc.insertImage(i, blob);
}
}
}
希望这可以帮助!
推荐阅读
- c - ptmalloc_lock_all 奇怪的 for 循环
- swift - 蒸汽通过日期参数
- spring-boot - Spring Boot Google App Engine 安全注释?
- javascript - 来自文档的简单 Vue Axios 示例,但使用组件
- ruby-on-rails - 用于 nil:NilClass 的未定义方法“每个”,用于 @topics
- python-3.x - Tensorflow v1.12 - ImportError:无法导入名称“云”
- javascript - 泛型类型,在流类型中动态派生
- android - Android X 向后兼容性
- c - 一个变量的属性另一个不同类型的变量
- java - 更改双向链表中泛型类型节点的值