gpt4 book ai didi

scala.js - 在 Scala-js 中从 url 中提取字段

转载 作者:行者123 更新时间:2023-12-03 19:24:16 26 4
gpt4 key购买 nike

假设我有一个像这样的网址:

https://example.com/myproject/index-dev.html?_ijt=hsdlgh8h5g8hh489sajoej&a=102&b=a%20m&c=45&d=all&e=all

或者它可能是本地主机上的网页,例如:
localhost:63342/my project/index-dev.html?_ijt=hsdlgh8h5g8hh489sajoej&a=102&b=a%20m&c=45&d=all&e=all

我必须从二维数组中的这些 url 中提取查询字段(出现在“?”之后),如下所示:
_ijt    |    hsdlgh8h5g8hh489sajoej
a | 102
b | a m
c | 45
d | all
e | all

请注意,在“b”字段中,我已将“%20”替换为空格。 _ijt、a、b、c、d、e 等字段的数量可能会有所不同,它们的名称例如“a”可以是“城市”。
到目前为止,我已经使用正则表达式提取了 '?' 之后的部分。然后使用 split("&") 方法将字符串拆分为多个字符串。
代码 -
val url=localhost:63342/my project/index-dev.html?_ijt=hsdlgh8h5g8hh489sajoej&a=102&b=a%20m&c=45&d=all&e=all
val pattern="""(http|htpps)([A-Za-z0-9\:\/\%\-\.]*)\?""".r
val temp_url=pattern.replaceFirstIn(url,"")
val fields=temp_url.split("&")
println(fields.foreach(println))

输出是:
_ijt=hsdlgh8h5g8hh489sajoej
a=102
b=a%20m
c=45
d=all
e=all

但这似乎不是执行此操作的正确方法。有什么帮助吗?

最佳答案

使用 js.URIUtils.decodeURIComponent准确解码 % - 编码字符。

关于scala.js - 在 Scala-js 中从 url 中提取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40988504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com