Google 表格:提取两个字符之间的文本

问题描述 投票:0回答:2

我有一个字段需要提取两个字符之间的文本。

我找到了函数

REGEXEXTRACT
并且我让它工作,只有当有一个字符时。但我无法让它与多个角色一起工作。

示例

2020-02: Test Course (QAS)

我需要提取

:
之后和
(
之前的文本。

所以它会返回

Test Course
regex google-sheets google-sheets-formula text-extraction
2个回答
4
投票

一种方法是使用 INDEX() 和 SPLIT() 函数,如下所示:

=TRIM(INDEX(SPLIT(A2,":("),2)

Split 使用 : 和 ( 将文本分成 3 部分,然后 INDEX 选择第二部分。

TRIM() 只是去掉空格。


2
投票

如果仅适用于一个单元格(例如 A2):

=IFERROR(TRIM(REGEXEXTRACT(A2,":([^\(]+)")))

无论冒号后面或左括号之前有空格,这都会返回您想要的内容。如果未找到匹配项,将返回 null。

如果要处理整个范围(例如 A2:A),请将以下内容放入其他空 Col B 的 B2 中:

=ArrayFormula(IF(A2:A="",,IFERROR(TRIM(REGEXEXTRACT(A2:A,":([^\(]+)")),A2:A)))

无论冒号后面或左括号之前有空格,这都会返回您想要的内容。如果没有找到匹配,则返回原始字符串。

在这两种情况下,REGEX 字符串...

:([^\(]+)

... 表示“一组任意数量的字符,这些字符不是左括号且位于冒号后面。”

© www.soinside.com 2019 - 2024. All rights reserved.