Google Docs脚本实现含换行符文本替换的需求与问题
Google Docs 批量清理含换行符文本脚本
核心问题解决
Google Docs自带的正则查找替换能识别\n换行,但直接用replaceText时,字符串中的\n会被当成转义字符而非实际换行符,导致匹配失败。解决关键是将换行符写成\\n(双重转义),并启用正则匹配模式。
完整脚本代码
function cleanAvatarText() { const doc = DocumentApp.getActiveDocument(); const body = doc.getBody(); // 自定义替换规则:[正则匹配字符串, 目标替换文本] const replaceRules = [ ["M\\navatar\\nM", "M"], ["J\\navatar\\nJ", "J"] // 可添加更多规则,比如 ["X\\navatar\\nX", "X"] ]; replaceRules.forEach(rule => { // 第三个参数true启用正则匹配模式 body.replaceText(rule[0], rule[1], true); }); DocumentApp.getUi().alert("文本清理完成!"); }
使用步骤
- 打开目标Google Docs文档
- 点击顶部菜单栏「扩展程序」→「Apps脚本」
- 清空默认代码,粘贴上述脚本
- 点击「保存」,命名项目(如DocTextCleaner)
- 点击运行按钮,首次运行需授权脚本访问文档权限
- 完成后会弹出提示框,确认清理完成
扩展说明
- 若需添加更多替换规则,直接在
replaceRules数组中新增条目即可,格式与现有规则一致 - 正则匹配默认支持全局替换,无需额外设置
内容的提问来源于stack exchange,提问作者Flash_Dalton
相关产品推荐
相关产品推荐

