在Ruby中,如何在字符串中的最后一个数字后面找到所有字母?

时间:2017-01-27 23:31:49

标签: ruby-on-rails ruby regex string

我正在使用Ruby 2.4。我有一个字母和数字的字符串,类似

str = "123abc234abb"

如何找到字符串中最后一个数字后面的所有字母?例如,如果我将函数应用于上述函数,则会产生

abb

2 个答案:

答案 0 :(得分:2)

你可以使用积极的外观:

"123abc234abb"[/(?<=\d)?[a-zA-Z]+\z/]
#=> "abb"

答案 1 :(得分:1)

试试这个

 str.rpartition(/\d+/).last

这是如何运作的?

  • rpartition使用反向匹配
  • 将字符串拆分为三个部分
  • last从三个结果中选择赛后部分