我在 ruby 中有一个字符串,其初始字符为数字,最后一个字符始终为字母。一些示例是:2C、1P、45H、135D。
我想得到一个包含 2 个对象的数组,第一个是数字,第二个是字符。
Eg: for 2C, array would be [2, C]
for 45H, array would be [45, H]
for 135D, array would be [135, D]
我尝试了 my_string[/(\d+)([A-Z])$/].split(//, 1)
,但它给了我一个数组中的完整字符串。比如["2C"], ["45H"]
我是不是漏掉了什么?
最佳答案
我必须快速使用谷歌搜索来了解如何使用 Ruby 的拆分,但这是您想要的方式:
print '2C'.split(/(?<=\d)(?=[A-Z])/);
// ["2", "C"]
expression通过执行后视 ((?<=...)
) 和前视 ((?=...)
) 来工作。这意味着我们将匹配左边有一个数字而右边有一个字母的点。
关于ruby-on-rails - 获取数组中的字符串字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569644/