我有一个字符串要从中提取某个部分:
原始字符串:/abc/d7_t/g-12/jkl/m-n3/pqr/stu/vwx
所需结果:/abc/d7_t/g-12/jkl/
整个字符串中的字符数可能不同。它有字母、数字、下划线和连字符我想基本上在第5个“/”之后切断绳子
我试了一些正则表达式,但格式似乎有点错误。

最佳答案

如果可以接受非regexp方法,那么:

s.split('/').take(n).join('/')+'/'

其中s如果您的字符串(在您的情况下:/abc/d7_t/g-12/jkl/m-n3/pqr/stu/vwx)。
def cut_after(s, n)
  s.split('/').take(n).join('/')+'/'
end

那么
cut_after("/abc/d7_t/g-12/jkl/m-n3/pqr/stu/vwx", 5)

应该有用虽然没有regexp那么紧凑,但是有些人可能会发现它更清晰。

关于ruby-on-rails - Ruby中的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13816248/

10-09 00:17