You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Google Sheets中为清理后字符串插入通配符的方法咨询

嘿,这个需求完全可以在Google Sheets里轻松实现!我给你两种实用方案,一种是纯内置函数组合(不用额外设置,直接用),另一种是自定义函数(更简洁,适合大量数据复用):

方法一:纯内置函数组合(推荐,零额外配置)

假设你的原始文本在A1单元格,直接复制下面的公式就能得到你想要的结果:

=CONCATENATE("*", JOIN("*", SPLIT(LOWER(REGEXREPLACE(A1, "[^a-zA-Z]", "")), "")), "*")

我拆解下每一步的作用,方便你理解和调整:

  • LOWER(A1):把所有文本转成小写
  • REGEXREPLACE(A1, "[^a-zA-Z]", ""):移除所有非字母字符(空格、破折号、标点这些全删),只保留a-z/A-Z的字母
  • SPLIT(..., ""):把清理后的字符串拆成单个字符的数组
  • JOIN("*", ...):用*把每个字符连接起来
  • CONCATENATE("*", ..., "*"):在首尾各加一个*,凑成你要的最终格式

举个实际例子:输入「Swift - Recent Graduates」,经过上面的步骤会变成:

swiftrecentgraduates*

如果需要保留数字,只要把正则部分改成[^a-zA-Z0-9]就行,这样数字也会被保留下来。

方法二:自定义函数(更简洁,适合批量复用)

如果觉得上面的公式太长,或者需要反复使用,可以写个自定义函数:

  1. 打开你的Google Sheets,点击「扩展程序」→「Apps Script」
  2. 删除默认的代码,粘贴下面的脚本:
function WILDCARD_FORMAT(text) {
  if (!text) return "";
  // 转小写 + 移除非字母字符 + 插入通配符
  const cleanedText = text.toLowerCase().replace(/[^a-z]/g, "");
  return "*" + cleanedText.split("").join("*") + "*";
}
  1. 保存脚本(随便起个名字,比如「WildcardFormatter」),回到表格里直接用=WILDCARD_FORMAT(A1)就能调用啦。

两种方法都能完美实现你的需求,纯函数方案不用碰脚本,上手最快;自定义函数更简洁,适合频繁使用的场景~

内容的提问来源于stack exchange,提问作者user1543042

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:03:32