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]"))))
- 当单元格"A1"为空和不为空时,分别放
""
和每个单词的首字母。
- 使用
SPLIT
. 将值拆分为每个单词
- 使用
REGEXEXTRACT
和 ARRAYFORMULA
从每个单词中检索第一个字母。
- 使用了
\b[\w]
的正则表达式。
- 使用
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)); " "; ); ))
如何显示单元格 A1 中每个单词的首字母:
示例:
A1= Foo bar
A1= Foo
在第一个例子中,我想显示“Fb”
在第二个例子中,我想看到“F”
如果 A1 = 空我不想显示任何东西
我试过这个:
=REGEXEXTRACT(A1;"^.")
只显示第一个字母
这个怎么样?请将此视为几个答案之一。
修改后的公式:
=IF(A1="","",JOIN("",ARRAYFORMULA(REGEXEXTRACT(SPLIT(A1," "),"\b[\w]"))))
- 当单元格"A1"为空和不为空时,分别放
""
和每个单词的首字母。 - 使用
SPLIT
. 将值拆分为每个单词
- 使用
REGEXEXTRACT
和ARRAYFORMULA
从每个单词中检索第一个字母。- 使用了
\b[\w]
的正则表达式。
- 使用了
- 使用
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)); " "; ); ))