如何在Google Sheets/Docs中提取网页地图源数据的公司名称?
在Google Sheets中提取公司名称
方法1:批量提取完整结果
假设长文本存放在A1单元格,在空白单元格(如B1)输入以下公式,可一次性输出所有公司名称:
=ARRAYFORMULA(TRIM(REGEXEXTRACT(SPLIT(A1, "},{"), """title"":""([^""]+)""")))
公式解析:
SPLIT(A1, "},{}"):将长文本按每个地点数据的分隔符},拆分,得到单个地点的片段REGEXEXTRACT(..., """title"":""([^""]+)"""):匹配每个片段中"title":"后到下一个"之间的内容,捕获组([^""]+)提取公司名称TRIM():清除名称前后的多余空格ARRAYFORMULA():自动将公式应用到所有拆分后的片段,批量输出结果
方法2:处理不完整的末尾片段
如果长文本末尾存在不完整的地点数据(如示例中最后一行未闭合),可使用更鲁棒的公式:
=ARRAYFORMULA(TRIM(REGEXEXTRACT(REGEXREPLACE(A1, "^var lomdvm = |\s*$", ""), """title"":""([^""]+)""", SEQUENCE(REGEXMATCH(A1, """title"":""([^""]+)""", 0)))))
该公式先移除开头的var lomdvm = 和末尾空白,再匹配所有title字段并提取内容。
在Google Docs中提取公司名称
方法1:用查找功能快速提取
- 将长文本粘贴到Google Docs中
- 按
Ctrl+F(Windows)或Cmd+F(Mac)打开查找框,点击右上角.*按钮启用正则表达式 - 在查找框输入:
"title":"([^"]+)" - 点击「查找全部」,所有匹配的公司名称会被选中,直接复制即可导出
方法2:用脚本自动生成列表
- 点击「扩展程序」→「Apps Script」打开脚本编辑器
- 粘贴以下代码:
function extractTitles() { const doc = DocumentApp.getActiveDocument(); const text = doc.getBody().getText(); const regex = /"title":"([^"]+)"/g; let match; const titles = []; while ((match = regex.exec(text)) !== null) { titles.push(match[1]); } // 在文档末尾插入提取结果列表 doc.getBody().appendParagraph("提取的公司名称:"); titles.forEach(title => doc.getBody().appendListItem(title)); }
- 点击运行并授权,脚本会自动在文档末尾生成公司名称列表
内容的提问来源于stack exchange,提问作者user20267765
相关产品推荐
相关产品推荐

