Google Sheets 正则表达式提取每个单词的第一个字母

Google Sheets regexextract first letter of each word

如何显示单元格 A1 中每个单词的首字母:

示例:

A1= Foo bar

A1= Foo

在第一个例子中,我想显示“Fb”

在第二个例子中,我想看到“F”

如果 A1 = 空我不想显示任何东西

我试过这个:

=REGEXEXTRACT(A1;"^.")

只显示第一个字母

这个怎么样?请将此视为几个答案之一。

修改后的公式:

=IF(A1="","",JOIN("",ARRAYFORMULA(REGEXEXTRACT(SPLIT(A1," "),"\b[\w]"))))
  1. 当单元格"A1"为空和不为空时,分别放""和每个单词的首字母。
  2. 使用 SPLIT.
  3. 将值拆分为每个单词
  4. 使用 REGEXEXTRACTARRAYFORMULA 从每个单词中检索第一个字母。
    • 使用了 \b[\w] 的正则表达式。
  5. 使用JOIN连接每个数组。

结果:

参考文献:

如果这不是您想要的结果,我深表歉意。

已添加:

作为另一个,它使用 LEFT 而不是 REGEXEXTRACT

修改后的公式:

=IF(A1="","",JOIN("",ARRAYFORMULA(LEFT(SPLIT(A1," ")))))

参考:

真正的数组公式是:

=ARRAYFORMULA(IF(LEN(A1:A); 
 SUBSTITUTE(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(A1:A; " "); 
 "\b[\w]"))); ; 999^99)); " "; ); ))