正则表达式匹配几个分号词并替换为#

regex to match several semicolon-word and remplace with #

我想用电子表格和正则表达式进行一些自动翻译,但是 google 正在翻译所有以分号开头的内部参数,例如 :title :name 但我发现如果我输入 #title # name 它保持参数不变,所以我可以翻译该行的其余部分。

因此,我们的想法是将所有 :word 替换为 #word 但不是 word: 替换为 word#,因为它不是参数,参数始终以 : 开头,后跟一个单词 -> :name

例如,我想更改以下字符串:

Hola, :name, hoy es :date, reloj a continuación:

进入

Hola, #name, hoy es #date, reloj a continuación:

所以我想创建一个像 =REGEXREPLACE(A1, ":[a-zA-Z]*", "#")

这样的公式

但是那个公式给了我:

Hola, #, hoy es #, reloj a continuación:

正在删除参数。

理想的正则表达式是检测所有以 :(分号)开头的单词并用 # 替换它们而不影响单词

您可以将 REGEXREPLACE 与捕获组一起使用:

=REGEXREPLACE(A1, ":([a-zA-Z]+)", "#")