我想从
中提取一些文字@post.link
代表。 " http://test.com/c/849324"
我使用此代码读取/ c /
之后的链接@v = @post.link.read(/c/)
但我收到此错误
undefined method `read' for
对于这种情况,可能不是正确的方法
编辑: 我想得到' 849324'来自" http://test.com/c/849324"
答案 0 :(得分:0)
尝试@post.link.split('/c/').last
答案 1 :(得分:0)
你可以直接通过字符串索引使用regexp。
first_group = string[/text(grp)/, 1] # get content of captured group
来自:https://github.com/bbatsov/ruby-style-guide#regular-expressions
使用irb的示例:
irb(main):002:0> require 'uri'
=> true
irb(main):003:0> URI("http://test.com/c/849324").path
=> "/c/849324"
irb(main):004:0> URI("http://test.com/c/849324").path[/^\/c\/(.*)/, 1]
=> "849324"
答案:
URI("http://test.com/c/849324").path[/^\/c\/(.*)/, 1]