如何使用 Google Sheets 或 SQL 获取此字符串的第一部分

How to get the first part of this string using Google Sheets or SQL

我有一个像“AA_BB_CC_EEE_FF_GGG”这样的字符串。 可以用任何字母或数字代替这些字母

如何在以下条件下使用 Google 表格或 SQL 获取此字符串“AA_BB_CC_EEE”的第一部分:

谢谢!

如果您不想使用漂亮的 long/complicated Google sheet 公式,您可以在 Google Apps 脚本中设置您自己的自定义函数。从您的 spreadsheet 文件打开脚本编辑器。清除基本文件并复制以下函数:

function Process(input) {
var res = input.indexOf("EEE");
var final = input.slice(0,res+3);
return final;
}

然后您可以像应用其他函数一样将此自定义函数应用到愿望输入:

=Process(A1)

这将为您返回所需的输出:

AA_BB_CC_EEE

如果您需要有关自定义函数工作原理的更多信息,请关注这些 instructions。它们非常简单。

如果 EEE 的三个已知变体是 EEEEEFEEG,此 Google Sheets 公式将使用 AA_BB_CC_EEE_FF_GG 在单元格 C35 中:

=REGEXREPLACE(C35, "^(.*(EEE|EEF|EEG)).*$", "")

它产生:AA_BB_CC_EEE

在 PostgreSQL 中类似:

select regexp_replace('AA_BB_CC_EEFfjdkaljfkal', '^(.*(EEE|EEF|EEG)).*$', '');

 regexp_replace
----------------
 AA_BB_CC_EEF
(1 row)

尝试:

=ARRAYFORMULA(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(
 ARRAY_CONSTRAIN(IFERROR(SPLIT(A1:A, "_")), 9^9, 4)),, 9^9))), " ", "_"))