【发布时间】:2013-06-03 08:20:15
【问题描述】:
当我看到一些与我的模式匹配的文本时,我想使用 RedCloth 创建一个指向外部站点的链接,该链接有一个查询链接。
如果我有类似的东西:
Text 123 1234 12345
当我看到我想将其替换为:
"Text 123 1234 12345":http://site.com/query?value=Text%20123%201234%2012345
如果我让它保留空格,RedCloth 将不会正确地将其视为链接。
这是我所在的地方:
s = "this is a string which has Text 123 1234 12345 "
s = s.s.gsub(/(Text \d+ \d+ \d+)/,'"\1":http://site.com/query?value=\1'
=> "Text 123 1234 12345":http://site.com/query?value=Text 123 1234 12345"
问题是RedCloth停止解析后:
"Text 123 1234 12345":http://site.com/query?value=Text
所以我真的需要:
"Text 123 1234 12345":http://site.com/query?value=Text%20123%201234%2012345"
有没有办法可以在gsub 的右侧弄乱\1,这样我就可以获得以下信息?如果没有,最好的方法是什么?
【问题讨论】:
-
看起来您希望
gsub转义空格:stackoverflow.com/questions/1991945/ruby-gsub-function -
这是一个很好的例子,这让我找到了这个,这就是我解决它的方法stackoverflow.com/questions/288573/1-and-1-in-ruby