在Ruby中,如何替换字符串中的问号字符?

Oli*_*lie 6 ruby string uri substitution

在Ruby中,我有:

require 'uri'
foo = "et tu, brutus?"
bar = URI.encode(foo)      # => "et%20tu,%20brutus?"
Run Code Online (Sandbox Code Playgroud)

我试图让bar等于"et%20tu,%20brutus%3f"("?"替换为"%3F")当我尝试添加此内容时:

bar["?"] = "%3f"
Run Code Online (Sandbox Code Playgroud)

"?" 匹配一切,我明白了

=> "%3f"
Run Code Online (Sandbox Code Playgroud)

我试过了

bar["\?"]
bar['?']
bar["/[?]"]
bar["/[\?]"]
Run Code Online (Sandbox Code Playgroud)

还有一些其他的东西,都没有用.

提示?

谢谢!

kmk*_*lan 12

require 'cgi' 并打电话 CGI.escape