你好,我有一个带有URL-ENCODING、%3A、%2F的字符串。。。
http%3A%2F%2Fmydomain.com%2Fimage%2Fflv%2F1%2F8%2Fa%2Fimage_18060.jpg%3Fe%3D313777194
我想替换"特殊字符"http://www.w3schools.com/tags/ref_urlencode.asp对于ASCII字符,我正在Rails中编程,但我不知道从哪里开始。你有什么想法吗?
非常感谢你的帮助!
鹰嘴豆泥这样我可以使用URI.unescape吗?
scraper = Scraper.define do
array :items
process "div.mozaique>div", :items => Scraper.define {
process "div.thumb>a", URI.unescape(:link) => "@href"
result :link
}
result :items
end
/Users/jcr/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/uri/common.rb:331:in `unescape': undefined method `gsub' for :link:Symbol (NoMethodError)
from /Users/jcr/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/uri/common.rb:649:in `unescape'
from /Users/jcr/web/sss/app/controllers/cweb.rb:17:in `block (2 levels) in main_web'
from /Users/jcr/.rvm/gems/ruby-1.9.3-p448/gems/scrapi-2.0.0/lib/scraper/base.rb:986:in `module_eval'
from /Users/jcr/.rvm/gems/ruby-1.9.3-p448/gems/scrapi-2.0.0/lib/scraper/base.rb:986:in `define'
from /Users/jcr/web/sss/app/controllers/cweb.rb:15:in `block in main_web'
from /Users/jcr/.rvm/gems/ruby-1.9.3-p448/gems/scrapi-2.0.0/lib/scraper/base.rb:986:in `module_eval'
from /Users/jcr/.rvm/gems/ruby-1.9.3-p448/gems/scrapi-2.0.0/lib/scraper/base.rb:986:in `define'
from /Users/jcr/web/sss/app/controllers/cweb.rb:13:in `main_web'
from /Users/jcr/web/sss/app/controllers/cweb.rb:57:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
您可以使用URI.unescape
:
irb(main):003:0> require 'uri'
=> true
irb(main):006:0> URI.unescape("http%3A%2F%2Fmydomain.com%2Fimage%2Fflv%2F1%2F8%2Fa%2Fimage_18060.jpg%3Fe%3D13777194")
=> "http://mydomain.com/image/flv/1/8/a/image_18060.jpg?e=13777194"