使用REGEXTRACT提取Google工作表ID

nhaq1z21  于 2023-01-03  发布在  Go
关注(0)|答案(3)|浏览(140)

虽然可以在Apps脚本中使用以下getSheetId()引用Google Sheets ID,但我发现需要在Google Sheets单元格中提取ID。
我已经提取了URL的第一部分,但没有提取ID。使用:

=REGEXEXTRACT(F2,"^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)")

幸运的是,导入的URL将始终具有相同的格式,因此不需要变量regex来处理URL上的不同形式
工作表URL
https://docs.google.com/spreadsheets/d/1ZNU46cVFMebj8t-kFXySuZyTTTupCo8EMrHr1exXr6Zg/edit#gid=757856732

图纸ID(始终出现在第五个正斜杠之后和最后一个正斜杠之前)

1 ZNU 46 cVFMebj 8 t-kFXySuZyTTTupCo 8 EMrHr 1 exXr 6 Zg的研究进展
如何从另一个单元格中引用的URL获取Google工作表ID?

ilmyapht

ilmyapht1#

试着这样做:

=INDEX(SPLIT(A1, "/"),, 5)

fdbelqdn

fdbelqdn2#

如果ID始终介于倒数第二个和最后一个/之间,则可以使用

=REGEXEXTRACT(A1, ".*/(.*)/")

参见regex demo

    • 详细信息**
  • .*-0个或更多字符,而不是尽可能多的换行符字符
  • /-反斜杠(倒数第二个反斜杠)
  • (.*)-捕获组1(REGEXEXTRACT返回的值将是此值):尽可能多的0个或多个除换行符以外的字符
  • /-一个反斜杠(它将是字符串中的最后一个反斜杠)。
9ceoxa92

9ceoxa923#

如果任何人有兴趣在PHP中获得它,这里是它的代码

$sheetlink = "https://docs.google.com/spreadsheets/d/HERE IS THE GOOGLE SHEET ID/edit#gid=123"    
$sheetlink = preg_split('/(d\/|\/edit)/', $sheetlink);

echo $sheetlink['1'];

相关问题