我有一个脚本,它接受当前文档并使用findText查找用户定义的字符串。如果该字符串包含引号(如:Bob' s Burgers)。 findText找不到它。我知道它使用正则表达式,但我无法弄清楚如何格式化表达式,以便它正确地找到它。
代码示例:
var target = "Bob's Burgers";
var body = DocumentApp.getActiveDocument().getBody();
try
{
var searchResult = body.findText(target);
//does not find the text. But can find Bob easily.
}
catch(e) { ...}
答案 0 :(得分:0)
使用\`代替`来逃避它。
var target = "Bob\'s Burgers";
答案 1 :(得分:0)
我使用此post中的代码尝试了findText
方法:
function highlightText(findMe) {
var body = DocumentApp.getActiveDocument().getBody();
var foundElement = body.findText(findMe);
while (foundElement != null) {
// Get the text object from the element
var foundText = foundElement.getElement().asText();
// Where in the Element is the found text?
var start = foundElement.getStartOffset();
var end = foundElement.getEndOffsetInclusive();
// Change the background color to yellow
foundText.setBackgroundColor(start, end, "#FCFC00");
// Find the next match
foundElement = body.findText(findMe, foundElement);
}
}
function myFunction() {
highlightText("Bob’s Burger");
}
结果:
希望这有帮助。