我对 Ruby 还是个新手,有点卡住了。
我需要从字符串末尾获取一个数字。
假设我有字符串“potato85”,我需要 85。
数字中的位数可以有所不同,例如“potato8”-“potato8585”。
有什么方法可以分割字符串并获取第一部分和数字吗?
使用 String#scan 方法
您可以使用字符串#scan http://www.ruby-doc.org/core-1.9.3/String.html#method-i-scan方法。例如:
my_string = 'potato8585'
my_string.scan( /\d+$/ ).first
# => "8585"
my_string = 'potato8'
my_string.scan( /\d+$/ ).first
# => "8"
该方法会将字符串中所有可能的匹配读入一个数组,但是$
锚将确保只有一个元素。然后,只需从数组中弹出第一个元素即可返回字符串。
还有其他方法可以做到这一点,但这对我来说似乎是最简单的解决方案。 YMMV。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)