我们说我有一些带有几个标签的文字:
[twitter:jpunt]
我想将这些替换成这样的东西:
<a href="http://twitter.com/jpunt">@Jpunt</a>
我怎么能在Ruby中这样做?我已经研究了几个小时的正则表达式,结果很沮丧。任何人吗?
答案 0 :(得分:1)
这应该做的工作:
initial = "[twitter:jpunt]"
link = initial.gsub(/\[twitter:(\w+)\]/i, '<a href="http://twitter.com/\1">@\1</a>')
答案 1 :(得分:0)
这是一行代码(点击here来测试此代码)&gt;&gt;
output = input.gsub(/\[([^:]+):([^\]]+)\]/) {
'<a href="http://' + $1 + '.com/' + $2 + '">@' + $2.capitalize + '</a>' }
以上代码适用于任何标记名称。如果您只想要 twitter ,那么请进行修改:
output = input.gsub(/\[twitter:([^\]]+)\]/) {
'<a href="http://twitter.com/' + $1 + '">@' + $1.capitalize + '</a>' }