本文介绍了在Google Docs应用程序脚本中循环查找和替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我经常写研究论文,要求在文本中引用数字放在括号中-例如:这是一句引语[1]。";
当我写论文时,我使用字母而不是数字,这样我就可以在以后查找&;替换,因为我可能会在这里和那里添加引文,我不想为了保持它们的顺序而对每个引文重新编号。
如何在循环中搜索整个Google文档,并用数字替换每个字母?例如,将[a]
替换为[1]
,将[b]
替换为[2]
等。我尝试了此代码,但它将文档中的每个字符都替换为括号中的随机数字。我不清楚转义方括号的规则,所以我也尝试过在每个方括号前加
:function myFunction() {
var doc = DocumentApp.getActiveDocument();
body = doc.getBody();
var alphabet = ["[a]", "[b]", "[c]", "[d]", "[e]", "[f]", "[g]", "[h]", "[i]", "[j]", "[k]", "[l]", "[m]", "[n]", "[o]", "[p]", "[q]", "[r]", "[s]", "[t]", "[u]", "[v]", "[w]", "[x]", "[y]", "[z]", "[aa]", "[bb]", "[cc]", "[dd]", "[ee]", "[ff]", "[gg]", "[hh]", "[ii]", "[jj]", "[kk]", "[ll]", "[mm]", "[nn]", "[oo]", "[pp]", "[qq]", "[rr]", "[ss]", "[tt]", "[uu]", "[vv]", "[ww]", "[xx]", "[yy]", "[zz]"];
for (i = 0; i < alphabet.length; i++) {
num = i+1;
newText = "["+num+"]";
body.replaceText(alphabet[i], newText);
}
}
推荐答案
看起来您需要对括号进行双重转义:
function testReplace(){
var doc = DocumentApp.getActiveDocument();
body = doc.getBody();
var alphabet = ["\[a\]", "\[b\]", "[c]"]; // c is a test-case
for (i = 0; i < alphabet.length; i++) {
num = i+1;
newText = "["+num+"]";
body.replaceText(alphabet[i], newText);
}
}
之前:
A a [a]
B b [b]
C c [c]
之后:
A a [1]
B b [2]
C [3] [[3]]
这篇关于在Google Docs应用程序脚本中循环查找和替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!