我正在尝试提取不同字符之间的人名。例如,单元格包含此信息
PATIENT: 2029985 - COLLINS, JUNIOR .
PATIENT: 1235231-02 - JERRY JR, PATRICK .
PATIENT: 986435--EXP-- - JULIUS, DANIEL .
PATIENT: 2021118-02 - DRED-HARRY, KEVIN .
我的目标是使用一个 REGEXTRACT 公式来获得以下结果:
COLLINS, JUNIOR
JERRY JR, PATRICK
JULIUS, DANIEL
LOVE ALSTON, BRENDA
到目前为止,我已经得出了公式:
=ARRAYFORMULA(REGEXEXTRACT(B3:B, "-(.*)\."))
其中B3包含第一个信息
使用该公式,我得到:
COLLINS, JUNIOR
02 - JERRY JR, PATRICK
02 - LOVE-ALSTON, BRENDA
-EXP-- - JULIUS, DANIEL
02 - DRED-HARRY, KEVIN
我设法记下了第一个名字,但我该如何提取其余的名字。
最佳答案
你可以使用
=ARRAYFORMULA(REGEXEXTRACT(B3:B, "\s-\s+([^.]*?)\s*\."))
请参阅regex demo 。 详细信息:
\s-\s+
- 一个空格,-
,一个或多个空格([^.]*?)
- 第 1 组:除.
之外的零个或多个字符,尽可能少\s*
- 零个或多个空格\.
- 一个.
字符。
关于regex - 如何使用 REGEXTRACT 提取两个字符串之间的某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69933037/