我在Google文档中具有以下文本。随后是作者的数据文本,括号中包含的时间戳。时间邮票也在句子的结尾处。一些数据文本也可能具有括号:
一些文字在这里。(约翰·史密斯; 2016年12月20日上午10:11(
时间邮票之间的更多文本。
其他文本已在此处输入。可能有几句句子。(Jane Doe; 2016年12月20日 08:21 pm(
上述文本的描述(C189(
我想使用Google App脚本删除时间戳记。
我尝试了以下在Google文档中使用的"查找和替换"菜单功能的正则拨号:
(.+[AP]M)
它可以很好地找到时间戳记:查找"(",然后以" am或pm"one_answers"下午"结尾的任何文本,然后是"("
它也可以在在线Regex Tester中工作。
,但它在Google App脚本中不起作用:
function searchAndReplace() {
var doc = DocumentApp.getActiveDocument()
var body = doc.getBody();
body.replaceText("(.+[AP]M)", "");
我最终得到了:
(
时间邮票之间的更多文本。
(
上述文本的描述(C189(
我想要这个:
一些文字在这里。
时间邮票之间的更多文本。
其他文本已在此处输入。可能有几句句子。
上述文本的描述(C189(
我在做什么错?令人沮丧的是,当时的正则发行在Google文档中的"查找和替换"中,但在脚本中不工作。
您需要双重逃脱括号,如下所示。
function searchAndReplace() {
var doc = DocumentApp.getActiveDocument()
var body = doc.getBody();
body.replaceText("\(.+?[AP]M\)", "");
doc.saveAndClose();
}