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

标签 scala.js

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

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/

相关文章:

Scala.js 中的 Javascript 生成器

scala.js - js.Dictionary 是 "Map"的正确类型吗

polymer - scala.js 中真正的 JS 类来开发 webcomponents

html - 如何在不将绑定(bind)片段包装在 XML 文字中的情况下组合绑定(bind)片段

gradle - 在Windows机器上使用gradle构建/编译最新的SalaJS(1.3+)?

scala.js - 如何从 Scala.js 调用 Javascript apply()?

json - scala js 中的 scala 解析器组合器 (json)

scala - 如何从传递给 scalatags 的事件处理程序访问 'this' 元素?

scala.js - scala.js 中的 argument.callee

scala - 在调整大小之前,传单 map 不会正确显示