0

假设我有一个代表 URL 的字符串:

http://www.mysite.com/somepage.aspx?id=33

..我想避开正斜杠和问号:

http:\/\/www.mysite.com\/somepage.aspx\?id=33

我怎样才能通过 gsub 做到这一点?我一直在那里玩一些正则表达式,但还没有找到获胜的公式。

4

3 回答 3

1

我建议你使用

url = url.gsub(/(?=[\/?])/, '\\')

如此处所示

url = 'http://www.mysite.com/somepage.aspx?id=33'
url = url.gsub(/(?=[\/?])/, '\\')
puts url

输出

http:\/\/www.mysite.com\/somepage.aspx\?id=33
于 2013-06-24T21:07:02.953 回答
1

这个怎么样result = searchText.gsub(/(\/|\?)/, "\\\\$1")

于 2013-06-24T21:07:31.223 回答
1

我会建议使用一个块来使其更具可读性:

url.gsub(/[\/?]/) { |c| "\\#{c}" }
于 2013-06-24T21:08:21.100 回答