Google Sheets用正则提取两类Google Drive文件夹ID问题求助
Google Sheets提取两类Google Drive文件夹URL中ID的公式修改方案
原有公式问题
你之前使用的=REGEXEXTRACT(I2, ".*/(.*)")只能匹配最后一个斜杠后的全部内容,遇到带?usp=sharing参数的URL时,会把问号及后续参数也一同提取,无法得到纯净的文件夹ID。
适配两类URL的正确公式
直接使用如下公式即可同时兼容带参数、无参数的两种Drive文件夹URL:
=REGEXEXTRACT(I2, ".*/([^?]+)")
正则逻辑说明
.*/:匹配URL中最后一个/之前的所有内容,定位到ID的起始位置([^?]+):捕获组,匹配所有非?的字符,遇到?就停止匹配,没有?则匹配到URL结尾,恰好提取到完整的文件夹ID
可选容错优化
如果需要避免空单元格或者不符合格式的内容抛出错误,可以套入IFERROR:
=IFERROR(REGEXEXTRACT(I2, ".*/([^?]+)"), "")
内容的提问来源于stack exchange,提问作者user14566169
相关产品推荐
相关产品推荐

