Power Apps 中 URL 中的查询字符串

Query string in URL in Power Apps

我正在 Power 应用程序中创建一个 UTM 生成器。我必须从 URL 中删除用户可以粘贴到 URL 输入的查询字符串(utm_source、utm_medium 和 utm_campaign)。另外,我必须将其余部分保留在 utm_test

之类的值上

例如 - 来自 URL: www.testpage.html?utm_source=empsig_12&utm_medium=email&utm_campaign=aw_e_be+dk_agc_test&utm_test=test

我想得到 URL 这样的:

www.testpage.html?utm_test=test

现在我有这样的东西:

Match(txt_URL.Text, "(utm_source)=([^&#]*&?)|(utm_medium)=([^&#]*&?)|(utm_campaign)=([^&#]*&?)").FullMatch

但它 returns 只有第一场比赛 - utm_source=empsig_12&

提前致谢

您可以使用 MatchAll and then Concat 匹配项:

Concat(
  MatchAll(txt_URL.Text, "(utm_(?:campaign|source|medium))=([^&#]*&?)"), 
  FullMatch, 
  ""
)

正则表达式匹配

  • (utm_(?:campaign|source|medium)) - 第 1 组:utm_ 然后是 campaignsourcemedium
  • = - 一个 = 字符
  • ([^&#]*&?) - 第 2 组:除 &# 之外的零个或多个字符,然后是可选的 &.