我目前有一个字符串,它的内容类似于 ["green%20books"]
,我希望它的内容为 ["green books"]
。
我认为用谷歌搜索会很快得到结果,但每个人都只想将空格变成 %20s
。反之则不然。
如有任何帮助,我们将不胜感激!
编辑:
这是我正在使用的函数,我很困惑在这里解码 URL 的位置。我尝试删除 URI.encode 文本,但这破坏了功能。
def self.get_search_terms(search_url)
hash = CGI.parse(URI.parse(URI.encode(search_url)).query) #returns a hash
keywords = []
hash.each do |key, value|
if key == "q" || key == "p"
keywords << value
end
end
keywords
end
最佳答案
您可以使用 URI 的 'unencode' 方法。 (别名为解码)
require 'uri'
URI.decode("green%20books")
# => "green books"
这不仅会用空格替换“%20”,还会替换每个 uri 编码的字符,我认为这是您想要的。
关于ruby - 在 Ruby 中用空格替换 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11622559/