如何使用 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”的第一部分:
- 到EEE的字符数不同(比如我中间有BBBBB);
- 我知道 3 个字符 EEE 的所有可能变体;
- EEE 总是由 3 个字符组成。
谢谢!
如果您不想使用漂亮的 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
的三个已知变体是 EEE
、EEF
和 EEG
,此 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))), " ", "_"))
我有一个像“AA_BB_CC_EEE_FF_GGG”这样的字符串。 可以用任何字母或数字代替这些字母
如何在以下条件下使用 Google 表格或 SQL 获取此字符串“AA_BB_CC_EEE”的第一部分:
- 到EEE的字符数不同(比如我中间有BBBBB);
- 我知道 3 个字符 EEE 的所有可能变体;
- EEE 总是由 3 个字符组成。
谢谢!
如果您不想使用漂亮的 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
的三个已知变体是 EEE
、EEF
和 EEG
,此 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))), " ", "_"))