Google Sheets REGEXEXEXEXTRACT-返回到一列而不是两列?

khbbv19g  于 2022-11-18  发布在  Go
关注(0)|答案(2)|浏览(123)

使用此公式将返回两个单独列中的值:
=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+)\?|(.+)\"""))
我如何修改它以返回同一列中的所有内容?如果我删除括号(),它就可以工作,但最后一个字符?或“将出现在末尾。

qltillow

qltillow1#

您可以使用

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+)[?""]"))

模式匹配

  • (.+)-组1(组值实际上是此处的返回值):一个或多个除换行符以外的字符,尽可能多
  • [?"]-一个?"字符。

同时考虑以下变化:

=ARRAYFORMULA(REGEXEXTRACT(A2:A, "(.+?)[?""]"))
=ARRAYFORMULA(REGEXEXTRACT(A2:A, "([^?""]+)[?""]"))

"(.+?)[?""]"变体最多匹配第一个出现的"?"([^?""]+)[?""]"也最多匹配第一个出现的字符,但它也可以匹配换行符。

ql3eal8s

ql3eal8s2#

尝试:

=INDEX(IFERROR(REGEXEXTRACT(A1:A, "^(?:https?:\/\/)?(?:ftp:\/\/)?(?:www\.)?([^\/]+)")))

相关问题