过滤掉包含 3 个或更多子文件夹的行
Filter Out Rows With 3 Or More Sub-Folders
我想过滤掉第三级或更高级别的 URL 条目。例如 https://example.com/folder1/folder2/folder3 would be filtered out but https://example.com/folder1/folder2 将不会被过滤。我试图使用正则表达式创建过滤器:
=filter(A2:A10000, regexmatch(A2:A10000 "https://[^/]+/[^/]+/[^/]+/.*"))
没有任何输出表明我已关闭,因为没有过滤任何行。
=ARRAYFORMULA(SUBSTITUTE(REGEXREPLACE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(QUERY(
IF(IFERROR(SPLIT(A2:A, "/"))<>"", IFERROR(SPLIT(A2:A, "/"))&"/", ),
"where Col5 is not null", 0)), , 999^99))), "\s|/$", ), ":/", "://"))
我相信你应该像这样简单地改变你的正则表达式:
=filter(A2:A,not(regexmatch(A2:A,"https?:\/(\/.+?){4}.*")))
这考虑了您的 URL 可能的尾部斜杠,请参阅 https://regex101.com/r/BEJYTF/1。
我想过滤掉第三级或更高级别的 URL 条目。例如 https://example.com/folder1/folder2/folder3 would be filtered out but https://example.com/folder1/folder2 将不会被过滤。我试图使用正则表达式创建过滤器:
=filter(A2:A10000, regexmatch(A2:A10000 "https://[^/]+/[^/]+/[^/]+/.*"))
没有任何输出表明我已关闭,因为没有过滤任何行。
=ARRAYFORMULA(SUBSTITUTE(REGEXREPLACE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(QUERY(
IF(IFERROR(SPLIT(A2:A, "/"))<>"", IFERROR(SPLIT(A2:A, "/"))&"/", ),
"where Col5 is not null", 0)), , 999^99))), "\s|/$", ), ":/", "://"))
我相信你应该像这样简单地改变你的正则表达式:
=filter(A2:A,not(regexmatch(A2:A,"https?:\/(\/.+?){4}.*")))
这考虑了您的 URL 可能的尾部斜杠,请参阅 https://regex101.com/r/BEJYTF/1。